<< Click to Display Table of Contents >> Navigation: Modbus Universal MasterOPC Server > Описание симулятора Mod_RSSim > Автоматизация с помощью скрипта > API симулятора |
GetRegisterValue (REG_TYPE as long , ADDRESS as long) As int
SetRegisterValue (REG_TYPE as long, ADDRESS as long, REGISTERVALUE as long) As none
DisableStation (STATIONID as int) none
EnableStation (STATIONID as int) None
StationEnabled (STATIONID as int) As long
AddDebugString (STATIONID as string) As None
Помимо обычных функций (см. В помощь разработчику скрипта ), в скрипте могут использоваться описанные ниже функции API симулятора.
GetRegisterValue (REG_TYPE as long , ADDRESS as long) As int
Возвращает текущее значение указанного регистра Modbus/AB:
REG_TYPE – тип регистра (номер файла для AB):
0 – Digital Inputs;
1 – Coil Outputs;
2 – Analogue Inputs;
3 – Holding Registers;
4 – Extended Registers;
ADDRESS – номер регистра или точки I/O (нуль всегда соответствует первому элементу).
Пример 1. 0 – это 40001 если REG_TYPE = 3.
Пример 2. 63 – это 64-я output coil, если REG_TYPE = 1.
SetRegisterValue (REG_TYPE as long, ADDRESS as long, REGISTERVALUE as long) As none
Устанавливает значение указанного регистра Modbus/AB:
REG_TYPE – тип регистра (номер файла для AB):
0 – Digital Inputs;
1 – Coil Outputs;
2 – Analogue Inputs;
3 – Holding Registers;
4 – Extended Registers;
ADDRESS – номер регистра или точки I/O (нуль всегда соответствует первому элементу).
Пример 1. 0 – это 40001 если REG_TYPE = 3.
Пример 2. 63 – это 64-я output coil, если REG_TYPE = 1.
REGISTERVALUE – устанавливаемое значение регистра, допустимый диапазон – (-32767, +32767), другие значения клиппируются.
DisableStation (STATIONID as int) none
Отключает станцию Modbus Slave так, как если бы станция не существовала в системе/сети:
STATIONID – номер станции Modbus, допустимый диапазон – (0, 255), 0 – широковещательная станция.
EnableStation (STATIONID as int) None
Восстанавливает наличие станции Modbus Slave в системе/сети (см. также описание функции DisableStation):
STATIONID – номер станции Modbus, допустимый диапазон – (0, 255), 0 – широковещательная станция.
Отображает диалог About MOD_RSsim (см. Встроенная справка ). Диалог отображается до тех пор, пока пользователь не закроет его.
Возвращает время (в миллисекундах), затраченное на последнее выполнение скрипта. Функция возвращает (-1) при первом выполнении скрипта или в случае невозможности выполнить скрипт до конца.
StationEnabled (STATIONID as int) As long
Возвращает состояние указанной станции (0 – отключена, 1 – подключена):
STATIONID – номер станции Modbus, допустимый диапазон – (0, 255), 0 – широковещательная станция.
TransmitRegisters (STATIONSRC as int, STATIONDEST as int, REG_TYPE as long, ADDRESS as long, REGISTERS as long) As long
Посылает значение в указанный PLC Slave (симуляция должна быть запущена и должна поддерживать режим MASTER).
Этa фунkция нe пoддepживaeтcя Modbus в нacтoящee вpeмя.
STATIONSRC – станция-источник Allen-Bradley (игнорируется протоколом Modbus);
STATIONDEST – назначение или ID станции-приемника;
REG_TYPE – номер файла для AB;
ADDRESS – номер регистра или точки I/O (нуль всегда соответствует первому элементу);
REGISTERS – число регистров для передачи, особенности кадра протокола не проверяются перед посылкой.
AddDebugString (STATIONID as string) As None
Посылает текст в отладчик коммуникаций, этот текст предваряется символами "##".
Возвращает TRUE если эмулируемый прибор поддерживает режим MASTER, но в настоящий момент занят (выполняется транзакция).
Данный пример показывает, как инкрементировать небольшое число регистров, а также непрерывно отключать/подключать первые 12 станций.
dim x
dim n
dim runtime
dim station
n=0
for n=0 to 240
x = getregistervalue(3,n)
SetRegisterValue 3, n, x+1
next
runtime = Getlastruntime
SetRegisterValue 3, 241, runtime
if (StationEnabled (station)) then
Disablestation station
else
enablestation station
end if
SetRegisterValue 3, 242, station
station = station + 1
if station > 12 then station = 0