[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Forum moderator: Alexor  
Forum » Process Simulator » Russian » Активация нескольких битов (Активация нескольких битов)
Активация нескольких битов
PhantomDate: Monday, 20.05.2019, 08:39 | Message # 1
Private
Group: Users
Messages: 11
Reputation: 0
Status: Offline
Для подачи сигнала на входной бит использую Sensor-Discrete, но мне нужно одной кнопкой активировать несколько битов с разных байтов в Simulation Manager я такого не нашел. Написал скрипт, с C# не знаком, пришлось добавить локальный бит, в Internal в Connections и создать Items меркер M2.0, чтобы при активации кнопки в PLCSIM активировались биты:
Code
if((bool)'Local.M2.0' == true)

'PLSSIM_TCP.IBit0-7' = true;
'PLSSIM_TCP.IBit1-0' = true;
'PLSSIM_TCP.IBit1-2' = true;
'PLSSIM_TCP.IBit1-4' = true;
'PLSSIM_TCP.IBit1-6' = true;


Скрипт при выполнении активирует бит и сразу его сбрасывает и так по циклу поочередно каждую секунду. Как вариант можно использовать Snapshot, плохо только, что его нельзя привязать к кнопке.


Message edited by Phantom - Monday, 20.05.2019, 08:40
 
AlexorDate: Sunday, 26.05.2019, 21:42 | Message # 2
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Если не устраивает скрипт C#, можно использовать Item.TimeLine.
 
PhantomDate: Tuesday, 28.05.2019, 17:01 | Message # 3
Private
Group: Users
Messages: 11
Reputation: 0
Status: Offline
Отлично, работает!
Скажите как нужно было правильно скрип написать, чтоб убрать зацикливание?


Message edited by Phantom - Tuesday, 28.05.2019, 17:02
 
AlexorDate: Saturday, 01.06.2019, 12:21 | Message # 4
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
В коде который я вижу нет сбрасывния бит. Есть только установка. Если биты сбрасываются, то скорее всего это делает сам контроллер, обновляя область входов.


Code
if((bool)'Local.M2.0' == true)
{
    'PLSSIM_TCP.IBit0-7' = true;
    'PLSSIM_TCP.IBit1-0' = true;
    'PLSSIM_TCP.IBit1-2' = true;
    'PLSSIM_TCP.IBit1-4' = true;
    'PLSSIM_TCP.IBit1-6' = true;
}
else
{
    'PLSSIM_TCP.IBit0-7' = false;
    'PLSSIM_TCP.IBit1-0' = false;
    'PLSSIM_TCP.IBit1-2' = false;
    'PLSSIM_TCP.IBit1-4' = false;
    'PLSSIM_TCP.IBit1-6' = false;
}

Вот такой скрипт должен устанавливать биты если Local.M2.0 == true, и сбрасывать если false.
 
Forum » Process Simulator » Russian » Активация нескольких битов (Активация нескольких битов)
  • Page 1 of 1
  • 1
Search: