[ New messages · Members · Forum rules · Search · RSS ]
Forum moderator: Alexor  
Forum » Process Simulator » Russian » Обсуждение идей
Обсуждение идей
denzhigDate: Friday, 25.01.2019, 07:37 | Message # 76
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
del

Message edited by denzhig - Friday, 25.01.2019, 10:17
 
denzhigDate: Thursday, 31.01.2019, 09:12 | Message # 77
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
День добрый.

Заметил такую особенность при подключении по OPC - переменные в контроллере постоянно перезаписываются из клиента, даже если они не менялись в клиенте.
Можно как-то сделать запись переменных в контроллер только по изменению?

С уважением Алексеев Д.М.
 
AlexorDate: Saturday, 02.02.2019, 20:20 | Message # 78
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Добрый день.

Очень странно, потому что все соединения изначально писались так, что бы делать запись только по изменению. А если деактивировать все симуляционные объекты, тоже перезаписывается?
 
denzhigDate: Monday, 04.02.2019, 07:49 | Message # 79
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Да, действительно получается что перезапись происходит из-за присваивания переменной значения (пусть даже такого же что уже она имеет).
У меня оно выглядит как: в локальных переменных есть булевая - к ней привязана кнопка. Нужно по нажатию кнопки выставлять определённый бит в байте контроллера. Использую следующую строку:
Code
if ((bool)'Loc_Connection.CN1_sw_on'){'Regul.CN1_cmd_on' = 1;}else{'Regul.CN1_cmd_on' = 0;}


Поэтому получается что переменная в контроллере перезаписывается в любом случае.
Наверное придётся добавлять проверку на текущее состояние переменной и присваивать только отличающееся значение. - тоже не получится, если переменная изменится внутри контроллера, то она перезапишется из PS так как будет отличаться... надо подумать как это реализовать.


Message edited by denzhig - Monday, 04.02.2019, 07:58
 
AlexorDate: Monday, 04.02.2019, 21:35 | Message # 80
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Quote denzhig ()
Поэтому получается что переменная в контроллере перезаписывается в любом случае.

Проверил, переписывается только если другое значение. Так что запись не происходит постоянно. А вот если значение поменяется внутри контроллера, PS его перезапишет.
 
umkamaksDate: Friday, 18.12.2020, 12:10 | Message # 81
Private
Group: Users
Messages: 1
Reputation: 0
Status: Offline
Неплохая задумка! Проект закрыт?
 
aquaizol_flexxDate: Monday, 21.12.2020, 14:29 | Message # 82
Private
Group: Users
Messages: 1
Reputation: 0
Status: Offline
Плохо исходники без документации!
 
Forum » Process Simulator » Russian » Обсуждение идей
Search: