PDA

Просмотр полной версии : Чтение системного времени СП300 из плк150



ДаниилСПб
17.05.2019, 09:07
Добрый день, разобрал пример синхронизации времени плк и сп300, но хотелось бы сделать наоборот и получать только часы и минуты.

В панели в регистрах PSW33 и PSW34 находятся часы и минуты в HEX.

В плк в modbus slave завел два регистра 2byte и функциональной областью записываю в эти регистры PSW33 и PSW34 из панели.

Естественно нужной цифры не получаю, так как время в панели в HEX.

В oscat ничего подходящего не нашел.

Предполагаю, что можно как-то скриптом в панели сделать преобразование, но не знаю как...

Помогите пожалуйста отправить время из панели в dec...

Основываясь на примере toUnixStamp мое решение будет???

PSW[300]=(PSW[33] / 16) * 10 + PSW[33] % 16; // пишем из системного 33 в оперативный 300 часы
PSW[301]=(PSW[34] / 16) * 10 + PSW[34] % 16; // пишем из системного 34 в оперативный 301 минуты

Евгений Кислов
17.05.2019, 12:07
Добрый день.

На мой взгляд, проще передать время в ПЛК как есть, а конвертировать уже в Codesys.
В библиотеке Util есть функция BCD_TO_INT для этого.

ДаниилСПб
17.05.2019, 12:11
Спасибо! Спасибо! Спасибо!