Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

Тема: ПР200 и весовой индикатор CAS CI-1560A

  1. #11
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    10,994

    По умолчанию

    Так и на Ардуино такой преобразователь можно сделать , а потом зашить в МК , если Ардуино само не устраивает.цена вопроса мизирная.
    электронщик до мозга костей и не только

  2. #12

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    Так и на Ардуино такой преобразователь можно сделать , а потом зашить в МК , если Ардуино само не устраивает.цена вопроса мизерная.
    Уважаемый rovki, можно поподробнее про преобразование на Ардуине?
    Так же столкнулся с этим весовым индикатором и не хватает знаний для опроса данного прибора.
    Контроллер ПЛК 160.
    Есть RS-485 (Modbus RTU) RS-232 занят под HMI. Да и не поможет он. Всё равно протокол Modbus или Owen. Проект уже на стадии завершения и тут этот индикатор...
    Да ещё и на удалении от ПЛК установлен (60 м.).

    Вот такая беда...
    Можно чего придумать? Или лучше другой купить?

  3. #13
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    2,961

    По умолчанию

    Цитата Сообщение от ratfor1 Посмотреть сообщение
    Уважаемый rovki, можно поподробнее про преобразование на Ардуине?
    Так же столкнулся с этим весовым индикатором и не хватает знаний для опроса данного прибора.
    Контроллер ПЛК 160.
    Есть RS-485 (Modbus RTU) RS-232 занят под HMI. Да и не поможет он. Всё равно протокол Modbus или Owen. Проект уже на стадии завершения и тут этот индикатор...
    Да ещё и на удалении от ПЛК установлен (60 м.).

    Вот такая беда...
    Можно чего придумать? Или лучше другой купить?
    А зачем для ПЛК160 какая-либо прокладка?

    Это в ПР нет возможности читать порты, а в ПЛК запросто! Используйте библиотеку SysLibCom и читайте строку из индикатора, разбирайте ее на части, как в моем примере на Си

    ЗЫ.
    Примеры работы с портом ПЛК с помощью SysLibCom есть на диске ПЛК
    26 лет деятельности в области промышленной безопасности

  4. #14
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    2,961

    По умолчанию

    По существу темы хочу сообщить, что способ с макросом по запросу не заработал (пост #7), наверно я не правильно понял описание работы терминала. По этому было принято решение выполнять непрерывное чтение из CAS CI-1560
    По этому макрос в панели претерпел изменения

    Код:
    #define Alarm		300			// Number PSB from error flag
    #define adrPR		16			// Addres PR200
    #define adrRegPR	512			// Addres register "Weight"
    
    WORD timeOut;
    WORD status = 0;
    BYTE byArr[44] = {' '};
    char *strWeight = "      0";
    int i = 0;
    static short int Weight = 0;
    //---- change timeout port of PLC (only for ModBus)
    Read(HMI_LOCAL_MCH, 0, TYPE_PFW, 38, 0, TYPE_WORD, &timeOut);
    if(timeOut == 1000) Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 38, 0, TYPE_WORD, 200);
    
    
    //----- Get string (22 bytes) from CAS1560
    while(status != 22 && i <= 3) {
    	status = Receive(DOWNLOAD, byArr, 22, 1000, 100);
        i++;					//next try
        PSW[500] = status;		//debug only !!
        PSW[501] = i;			//debug only !!
    }
    
    //--- if three attempts were unsuccessful, set error flag for three seconds
    if (i >= 3 && status != 22) {
        SetPSB(Alarm);
        Delay(3000);
        ResetPSB(Alarm);
    }
    else if (byArr[20] =='\r' && byArr[21] =='\n') {
        memcpy(strWeight, byArr +10, 7);	//extract string weight
        Weight = atoi(strWeight);	//convert string to number
        if (byArr[9] == '-') Weight = Weight * (-1);
    //----
    	PSW[314] = Weight;			//debug only !!
    	memcpy(&PSW[300], byArr, 22);	//debug only !!
    }    
    
    Leave(DOWNLOAD);	//close port DOWNLOAD
    //Delay(100);
    //--- write weight in the register PR200
    Write(PLC, adrPR, MODBUS_RTU_REG_4X, adrRegPR, 0, TYPE_WORD, Weight);
    параметры работы макроса задаются в секции #define
    Код:
    #define Alarm		300			// Number PSB from error flag
    #define adrPR		16			// Addres PR200
    #define adrRegPR	512			// Addres register "Weight"
    секция
    Код:
    //---- change timeout port of PLC (only for ModBus)
    Read(HMI_LOCAL_MCH, 0, TYPE_PFW, 38, 0, TYPE_WORD, &timeOut);
    if(timeOut == 1000) Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 38, 0, TYPE_WORD, 200);
    срабатывает только один раз после загрузки в панель
    Ее назначение не связанно с CAS1560, цель уменьшить тайм аут обмена для порта PLC с 1000 мс до 200. Это способ убрать тормоза при обрыве связи со слейвом

    В проекте для ПР
    Т.к. число передаваемое в ПР будет 16битным целым со знаком, а ПР не умеет делать арифметику с такими числами, то полученное число нужно преобразовать в число с плавающей запятой.(Макрос 16_TO_FL)

    Проект в панели похож на тот, что в посте #7
    Захват-1.png

    Видео отчет работы оборудования в комплексе прилагается

    ЗЫ
    В архиве кроме того имеется
    Захват-2.png
    -Дополнительно для проверки качества чтения данных из CAS CI-1560 сделал проект для панели с обилием динамических элементов, включая игру Tic-Tac-Toe (Крестики - Нолики)
    Захват-3.png

    Захват-4.png
    Tic-Tac-Toe:

    Вложения Вложения
    Последний раз редактировалось petera; 24.05.2019 в 12:24.
    26 лет деятельности в области промышленной безопасности

  5. #15

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    А зачем для ПЛК160 какая-либо прокладка?

    Это в ПР нет возможности читать порты, а в ПЛК запросто! Используйте библиотеку SysLibCom и читайте строку из индикатора, разбирайте ее на части, как в моем примере на Си

    ЗЫ.
    Примеры работы с портом ПЛК с помощью SysLibCom есть на диске ПЛК
    Уважаемый petera, огромное Вам спасибо за "наводку".

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Весовой терминал на МВ110-224.1ТД+2 шт. СМИ-1+ ПЛК100
    от KRUPSKIY в разделе Подбор Оборудования
    Ответов: 6
    Последнее сообщение: 25.03.2016, 13:09
  2. Весовой индикатор WE2110 и MasterSCADA
    от Юрий Бабушкин в разделе Подбор Оборудования
    Ответов: 2
    Последнее сообщение: 20.01.2015, 09:04
  3. Весовой индикатор!!!
    от sergeykrylov в разделе Разработки
    Ответов: 8
    Последнее сообщение: 04.08.2011, 03:04
  4. ПЛК-154 - ВЕСОВОЙ ИЗМЕРТЕЛЬ E-NOD-RS485
    от Максим_Фалалеев в разделе Сетевые технологии
    Ответов: 0
    Последнее сообщение: 15.11.2008, 16:59
  5. Подобрать весовой контроллер
    от Максим_Фалалеев в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 25.09.2008, 17:56

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •