PDA

Просмотреть полную версию : Передача журнала событий в АСУ


tazkiller
24.07.2014, 13:59
Необходимо передавать события с меткой времени в АСУ верхнего уровня. Можно ли как-то передавать встроенный в SMART журнал событий.

Arsie
24.07.2014, 14:10
Необходимо передавать события с меткой времени в АСУ верхнего уровня. Можно ли как-то передавать встроенный в SMART журнал событий.

Нет, это невозможно даже теоретически.

tazkiller
24.07.2014, 14:31
Арсений а не подскажите. Допустим есть у меня событие (дискретный сигнал) как мне привязать к нему метку времени. А потом передать в АСУ по Modbus RTU c меткой времени.

Arsie
24.07.2014, 14:45
Арсений а не подскажите. Допустим есть у меня событие (дискретный сигнал) как мне привязать к нему метку времени. А потом передать в АСУ по Modbus RTU c меткой времени.

Создать дополнительную переменную или несколько переменных, на которую/которые подать вашу метку.

tazkiller
24.07.2014, 15:38
А как эта доп переменная будет привязана к событию? Ведь мне важно чтобы записывалось время возникновения того или иного события.

Arsie
24.07.2014, 16:32
А как эта доп переменная будет привязана к событию? Ведь мне важно чтобы записывалось время возникновения того или иного события.

Вы спросили как передать, а не как зафиксировать время и передать.

Дискретный сигнал - не событие. Это дискретный сигнал.

Событие - это комплекс сигналов. Вы этот комплекс должны сформировать и где-то запомнить. Либо в EEPROM, либо в ОЗУ на триггерах. В момент запоминания из кучи разнородных сигналов возникает событие.

Вот у вас событие состоит как минимум из 7 сигналов: дискретный сигнал, номер года, номер месяца, номер суток, номер часов, номер минут, номер секунд. Эти сигналы всегда независимы друг от друга. Часики тикают сами по себе, дискретный сигнал сам по себе. В момент запоминания возникнет событие: состояние сигнала на определённую дату и время. Далее это событие передаёте в каком либо виде: либо в виде 7 раздельных сигналов (7 переменных), либо ещё как.

tazkiller
24.07.2014, 17:40
Арсений а где мне взять номер года, номер месяца, номер суток и т.д.?

Arsie
24.07.2014, 17:48
Арсений а где мне взять номер года, номер месяца, номер суток и т.д.?

http://dl.segnetics.com/WebHelp/SMLogix/block_date.htm

tazkiller
24.07.2014, 18:00
Прошу прощения за невнимательность пошел изучать...

ujin
25.07.2014, 21:20
На форуме раньше где-то был пример с чтением данных из журнала конструктора в MS Excel. Если взять журнал не из смарта а из конструктора, то можно получить и метку времени и номер аварии. Так-же метку времени можно сформировать в виде Unix time. Это число long (64 разряда), показывающее количество секунд, прошедшее с 01.01.1970 года. На принимающей стороне преобразовать в формат MJD, то есть обычный. Такие функции есть в любом языке программирования.
В конструкторе используется свой формат хранения даты, тоже упакованный в несколько чисел INT. Чуть длиннее чем Unix Time. Зато распаковка проще
Из смарта легко сделать связку с окном меню сформированным не смартом. Например с тем же журналом, так как сигналы для показа экрана и выхода из экрана все есть.
Неудобство будет в этом случае, что можно прочитать только номер аварии, а не текст аварии. Впрочем переменных типа string в Лоджике все равно нет.

Arsie
28.07.2014, 11:35
Неудобство будет в этом случае, что можно прочитать только номер аварии, а не текст аварии. Впрочем переменных типа string в Лоджике все равно нет.

Не в лоджике. В модбасе.