PDA

Просмотр полной версии : ТРМ138+СП307+ПЕ210=Owencloud



Андрей12311
09.03.2022, 11:47
Помогите кто чем может! В общем ТРМ читает температуру и выводит на панель, далее с панели СП307 данные должны уходить на Облако. Прибор на связи но не могу разобраться с регистрами памяти, от куда брать показания что писать в параметрах! в функции
{ Read(PLC, 16, MODBUS_RTU_REG_3X, j, 0, TYPE_DWORD, &ModuleValues[i]);
*(float*)(PSW+258+i*2)=DWord_2_Float(ModuleValues[i]);
j+=5; }. Я так понимаю - что данные беруться с панели, там они в Dword т.е в облаке нужно указать uint32 ? а регистры: Функция чтения:
03. Функция записи:не записываемый. Адрес регистра:03 ?59599

kondor3000
09.03.2022, 13:27
Помогите кто чем может! В общем ТРМ читает температуру и выводит на панель, далее с панели СП307 данные должны уходить на Облако. Прибор на связи но не могу разобраться с регистрами памяти, от куда брать показания что писать в параметрах! в функции
{ Read(PLC, 16, MODBUS_RTU_REG_3X, j, 0, TYPE_DWORD, &ModuleValues[i]);
*(float*)(PSW+258+i*2)=DWord_2_Float(ModuleValues[i]);
j+=5; }. Я так понимаю - что данные беруться с панели, там они в Dword т.е в облаке нужно указать uint32 ? а регистры: Функция чтения:
03. Функция записи:не записываемый. Адрес регистра:03 ?
Вы всё путаете, панель мастер, а ТРМ слейв и она его опрашивает. Для ПЕ210 (облака), панель слейв по другому порту и регистры там уже не 3Х, 4Х, а внутренние PSW256, PSW257..... Изучайте различие панели Мастера от панели слейва, а так же функциональные области и копирование регистров.
Данные типа DWORD, формат Float ( с плавающей точкой) не могут вдруг стать uint32 ( целочисленное). Разбирайтесь с форматами.

Андрей12311
09.03.2022, 14:05
Все верно, ТРМ слейв а панель мастер да, по PLC порту отпрашивается ТРМ. По Download подключен ПЕ210. Я Все это понял. Просто получается, что панель отпрашивает ТРМ, записывает данные в PSW256, и уже с PSW256 облако берет данные? так? Просто что мне указать в настройках параметра в облаке. Там Указываются регистры с 01-04. и адрес регистра Вот подчеркнул что. Есть ли карта регистров и где найти в каком формате храняться данные в HMI. 59603

kondor3000
09.03.2022, 14:21
Все верно, ТРМ слейв а панель мастер да, по PLC порту отпрашивается ТРМ. По Download подключен ПЕ210. Я Все это понял. Просто получается, что панель отпрашивает ТРМ, записывает данные в PSW256, и уже с PSW256 облако берет данные? так? Просто что мне указать в настройках параметра в облаке. Там Указываются регистры с 01-04. и адрес регистра Вот подчеркнул что. Есть ли карта регистров и где найти в каком формате храняться данные в HMI. 59603

Какая карта регистров? У вас все регистры прописаны в примере, в конфигураторе панели. Смотрите какие регистры в примере их и вписывайте ( для 256 регистра в HEX будет 100, переводится калькулятором). Формат Float. Функция чтения 03

Андрей12311
09.03.2022, 14:31
т.е вот так правильно будут выглядеть параметры ? Благодарю за отклик)) в коде параметра верно указано read ? 59604

kondor3000
09.03.2022, 14:44
т.е вот так правильно будут выглядеть параметры ? Благодарю за отклик)) в коде параметра верно указано read ? 59604

Адрес регистра не правильно, выше читайте, а где Read по моему можно написать и Temp1, Temp2, Temp3
У вас в примере вообще есть настройки для ПЕ210 и копирование регистров? И 256 регистр у вас занят уже.

Андрей12311
09.03.2022, 15:07
У меня есть функция, но писал ее не я.
int i;
int j=3;
float ModuleValues[8];
// 8 channels (0..7)
for (i=0;i<8;i++)
{
Read(PLC, 16, MODBUS_RTU_REG_3X, j, 0, TYPE_DWORD, &ModuleValues[i]);
*(float*)(PSW+258+i*2)=DWord_2_Float(ModuleValues[i]);
j+=5;
}

if (PSW[290]>7)
{
PSW[290]=0;
}


switch ( PSW[290] )
{
case 0:
PSW[295]=0x01; // PSW295.0=TRUE, PSW295.2..PSW295.7=FALSE
break;
case 1:
PSW[295]=0x02;
break;
case 2:
PSW[295]=0x04;
break;
case 3:
PSW[295]=0x08;
break;
case 4:
PSW[295]=0x10;
break;
case 5:
PSW[295]=0x20;
break;
case 6:
PSW[295]=0x40;
break;
case 7:
PSW[295]=0x80; // PSW295.7=TRUE, PSW295.0..PSW295.6=FALSE
break;
}

// check next lamp
PSW[290]=PSW[290]+1;

kondor3000
09.03.2022, 16:57
Это макрос из примера на форуме, он всего лишь переключает светодиоды на рисунке ТРМ в панели , а в начале вставлен ещё кусок,
читает в регистры с адресами с 258 по 272.

Здесь можно посмотреть скрины настроек облака https://owen.ru/forum/showthread.php?t=28536&page=21

kondor3000
10.03.2022, 09:34
Проверил в панели, макрос работает. Осталось только регистры с адресами с 258 по 272 (шаг 2) перевести в HEX калькулятором и добавить в опрос облака.
Вместо облака использовал Овен ОРС сервер 59612

Андрей12311
10.03.2022, 11:23
В облаке выдает ошибку 255. Как то никак не подружимся)) Думаю может в настройках Панели где-то ошибка, но если на панель выходят значения то думаю Панель-ТРМ можно отмести. Остается Панель-ПЕ210. Проверил через конфигуратор на всякий случай там соединение с облаком есть. Коллега скинул "схему" такую же точно ТРМ-панель-ПЕ у которого все работало. 59619
Как я понял через макрос читает данные в PSW258/260. Окей у нас показания по логике выводятся на панель. Потом у него стояла функция 59620. Копирование параметров в PSW256. Только смутно понимаю зачем. Попробовал использовать и функцию и макрос в "паралельном" режиме. Пока реакции ноль.
Еще вспомнил, пробовали делать в обход панели,трм сразу на шлюз, все работало прекрасно, т.е настройки сети тоже отпадают.

kondor3000
10.03.2022, 12:00
В облаке выдает ошибку 255. Как то никак не подружимся)) Думаю может в настройках Панели где-то ошибка, но если на панель выходят значения то думаю Панель-ТРМ можно отмести. Остается Панель-ПЕ210. Проверил через конфигуратор на всякий случай там соединение с облаком есть. Коллега скинул "схему" такую же точно ТРМ-панель-ПЕ у которого все работало. 59619
Как я понял через макрос читает данные в PSW258/260. Окей у нас показания по логике выводятся на панель. Потом у него стояла функция 59620. Копирование параметров в PSW256. Только смутно понимаю зачем. Попробовал использовать и функцию и макрос в "паралельном" режиме. Пока реакции ноль.
Еще вспомнил, пробовали делать в обход панели,трм сразу на шлюз, все работало прекрасно, т.е настройки сети тоже отпадают.

Вы опять не читаете или не хотите понять. Макрос читает в адреса 258-272, и надо перевести адреса в HEX. 3 раза написал, больше повторять не буду

Функциональной областью вы вообще копируете неправильно. Удалите её. Точнее либо макрос либо функц. облать.
А про ошибку 255 как раз и читайте по ссылке.

Андрей12311
10.03.2022, 13:11
Тогда оставляю только макрос. А в HEX перевожу уже в облаке все верно? (102, 104, 106, 108, 10А, 10C, 10Е, 110). т.е указываю фукнцию чтения 3 а адрес регистра 102. ?

kondor3000
10.03.2022, 13:35
Тогда оставляю только макрос. А в HEX перевожу уже в облаке все верно? (102, 104, 106, 108, 10А, 10C, 10Е, 110). т.е указываю фукнцию чтения 3 а адрес регистра 102. ?

Теперь правильно с адресами, но тут надо ещё помнить, что при передаче переменных флоат, могут поменяться местами регистры. Если показания будут типа 2.3*e -37, значит регистры надо переставить. Про ошибку 255 уже написал.

Андрей12311
10.03.2022, 13:58
Все, спасибо вам большое, сейчас разобрались с панелью и с адресами, все ок. Но к сожалению остается ошибка по облаку 255. Все должно быть ок по настройкам, а показаний нет. Будем биться до победного).