|
|
Line 47: |
Line 47: |
| |indicates success operation and valid output | | |indicates success operation and valid output |
| |} | | |} |
| + | {{ycgu-cooltable-3 |
| + | |title-left='''Libraries for METEL IEC 61131-3 IDE''' |
| + | |title-center='''Utility for METEL IEC 61131-3 IDE''' |
| + | |title-right='''Error codes''' |
| + | |content-left= |
| + | ''' ''' |
| + | * [[Blocks MODBUS RTU | MODBUS RTU]] |
| + | * [[Blocks IPWatchdog | IPWatchdog]] |
| + | * [[Blocks Dataloger | Dataloger]] |
| + | * [[Block Program | Program]] |
| | | |
− | ==== Error codes ====
| + | |content-center= |
− | {| class="wikitable"
| + | ''' ''' |
− | !Error code
| + | * [[Blocks Generators | Generators]] |
− | !Short name
| |
− | !Description
| |
− | |-
| |
− | |0x0
| |
− | |ERR_OK
| |
− | |No error
| |
− | |-
| |
− | |
| |
− | |
| |
− | |
| |
− | |-
| |
− | |0x102
| |
− | |ERROR_STD_NO_SUCH_FILE_OR_DIRECTORY
| |
− | |
| |
− | |-
| |
− | |0x10C
| |
− | |ERROR_STD_OUT_OF_MEMORY
| |
− | |
| |
− | |-
| |
− | |0x113
| |
− | |ERROR_STD_NO_SUCH_DEVICE
| |
− | |
| |
− | |-
| |
− | |0x116
| |
− | |ERROR_STD_INVALID_ARGUMENT
| |
− | |
| |
− | |-
| |
− | |
| |
− | |
| |
− | |
| |
− | |-
| |
− | |0x16E
| |
− | |ERROR_STD_CONNECTION_TIMED_OUT
| |
− | |
| |
− | |-
| |
− | |
| |
− | |
| |
− | |
| |
− | |-
| |
− | |0x1001
| |
− | |ERROR_MODBUS_INVALID_BUS
| |
− | |
| |
− | |-
| |
− | |0x1002
| |
− | |ERROR_MODBUS_INVALID_REGISTER
| |
− | |
| |
− | |-
| |
− | |0x1003
| |
− | |ERROR_MODBUS_INVALID_UNIT_ID
| |
− | |
| |
− | |-
| |
− | |0x1011
| |
− | |ERROR_MODBUS_EXCEPTION_ILLEGAL_FUNCTION
| |
− | |
| |
− | |-
| |
− | |0x1012
| |
− | |ERROR_MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS
| |
− | |
| |
− | |-
| |
− | |0x1013
| |
− | |ERROR_MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE
| |
− | |
| |
− | |-
| |
− | |0x1014
| |
− | |ERROR_MODBUS_EXCEPTION_SLAVE_OR_SERVER_FAILURE
| |
− | |
| |
− | |-
| |
− | |0x1015
| |
− | |ERROR_MODBUS_EXCEPTION_ACKNOWLEDGE
| |
− | |
| |
− | |-
| |
− | |0x1016
| |
− | |ERROR_MODBUS_EXCEPTION_SLAVE_OR_SERVER_BUSY
| |
− | |
| |
− | |-
| |
− | |0x1017
| |
− | |ERROR_MODBUS_EXCEPTION_NEGATIVE_ACKNOWLEDGE
| |
− | |
| |
− | |-
| |
− | |0x1018
| |
− | |ERROR_MODBUS_EXCEPTION_MEMORY_PARITY
| |
− | |
| |
− | |-
| |
− | |0x1019
| |
− | |ERROR_MODBUS_EXCEPTION_GATEWAY_PATH
| |
− | |
| |
− | |-
| |
− | |0x101A
| |
− | |ERROR_MODBUS_EXCEPTION_GATEWAY_TARGET
| |
− | |
| |
− | |-
| |
− | |0x1021
| |
− | |ERROR_MODBUS_EMBBADCRC
| |
− | |
| |
− | |-
| |
− | |0x1022
| |
− | |ERROR_MODBUS_EMBBADDATA
| |
− | |
| |
− | |-
| |
− | |0x1023
| |
− | |ERROR_MODBUS_EMBBADEXC
| |
− | |
| |
− | |-
| |
− | |0x1024
| |
− | |ERROR_MODBUS_EMBUNKEXC
| |
− | |
| |
− | |-
| |
− | |0x1025
| |
− | |ERROR_MODBUS_EMBMDATA
| |
− | |
| |
− | |-
| |
− | |0x1026
| |
− | |ERROR_MODBUS_EMBBADSLAVE
| |
− | |
| |
− | |-
| |
− | |
| |
− | |
| |
− | |
| |
− | |} | |
| | | |
− | == Modbus Library ==
| + | |content-right= |
− | | + | ''' ''' |
− | === MODBUS RTU ===
| + | * [[Error Codes | Error Codes for Asynchronous Operations]] |
− | | + | }} |
− | ==== MODBUS_RTU_CFG ====
| |
− | Set bus parameters
| |
− | {| class="wikitable"
| |
− | |-
| |
− | |in
| |
− | |Bus
| |
− | |string
| |
− | |
| |
− | |path to bus device (/dev/ttyS0)
| |
− | |-
| |
− | |in
| |
− | |Baud
| |
− | |int
| |
− | |
| |
− | |standard baudrates from 150 to 115200
| |
− | |-
| |
− | |in
| |
− | |Parity
| |
− | |string[1]
| |
− | |
| |
− | |"N" = none, "E" = even, "O" = odd
| |
− | |-
| |
− | |in
| |
− | |Databit
| |
− | |USINT
| |
− | |
| |
− | |Databits (5,6,7,8)
| |
− | |-
| |
− | |in
| |
− | |Stopbit
| |
− | |USINT
| |
− | |
| |
− | |Stopbits (1,2)
| |
− | |- | |
− | |out
| |
− | |ERR
| |
− | |bool
| |
− | |
| |
− | |indicates some error occurs (0 = OK)
| |
− | |-
| |
− | |out
| |
− | |ERR_ID
| |
− | |WORD
| |
− | |
| |
− | |identifies occured error by unique code
| |
− | |}
| |
− | | |
− | ==== MODBUS_RTU_R_COIL ====
| |
− | Reads one coil register
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |Bus
| |
− | |string
| |
− | |
| |
− | |path to bus device (/dev/ttyS0)
| |
− | |-
| |
− | |in
| |
− | |UnitID
| |
− | |byte
| |
− | |
| |
− | |device bus address (0-247)
| |
− | |-
| |
− | |in
| |
− | |OfsAdr
| |
− | |word
| |
− | |
| |
− | |register address (1-9999)
| |
− | |-
| |
− | |in
| |
− | |Timeout
| |
− | |byte
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |bool
| |
− | |
| |
− | |readed value
| |
− | |}
| |
− | | |
− | ==== MODBUS_RTU_R_DISCRETE ====
| |
− | Read one discrete discrete input register
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |Bus
| |
− | |string
| |
− | |
| |
− | |path to bus device (/dev/ttyS0)
| |
− | |-
| |
− | |in
| |
− | |UnitID
| |
− | |byte
| |
− | |
| |
− | |device bus address (0-247)
| |
− | |-
| |
− | |in
| |
− | |OfsAdr
| |
− | |word
| |
− | |
| |
− | |register address (1-9999)
| |
− | |-
| |
− | |in
| |
− | |Timeout
| |
− | |byte
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |bool
| |
− | |
| |
− | |readed value
| |
− | |}
| |
− | | |
− | ==== MODBUS_RTU_R_HOLDING ====
| |
− | Reads one holding register
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |Bus
| |
− | |string
| |
− | |
| |
− | |path to bus device (/dev/ttyS0)
| |
− | |-
| |
− | |in
| |
− | |UnitID
| |
− | |byte
| |
− | |
| |
− | |device bus address (0-247)
| |
− | |-
| |
− | |in
| |
− | |OfsAdr
| |
− | |word
| |
− | |
| |
− | |register address (1-9999)
| |
− | |-
| |
− | |in
| |
− | |Timeout
| |
− | |byte
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |word
| |
− | |
| |
− | |readed value
| |
− | |}
| |
− | | |
− | ==== MODBUS_RTU_R_INPUT ====
| |
− | Reads one input register
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |Bus
| |
− | |string
| |
− | |
| |
− | |path to bus device (/dev/ttyS0)
| |
− | |-
| |
− | |in
| |
− | |UnitID
| |
− | |byte
| |
− | |
| |
− | |device bus address (0-247)
| |
− | |-
| |
− | |in
| |
− | |OfsAdr
| |
− | |word
| |
− | |
| |
− | |register address (1-9999)
| |
− | |-
| |
− | |in
| |
− | |Timeout
| |
− | |byte
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |word
| |
− | |
| |
− | |readed value
| |
− | |}
| |
− | | |
− | ==== MODBUS_RTU_W_COIL ====
| |
− | Writes value to one coil register
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |Bus
| |
− | |string
| |
− | |
| |
− | |path to bus device (/dev/ttyS0)
| |
− | |-
| |
− | |in
| |
− | |UnitID
| |
− | |byte
| |
− | |
| |
− | |device bus address (0-247)
| |
− | |-
| |
− | |in
| |
− | |OfsAdr
| |
− | |word
| |
− | |
| |
− | |register address (1-9999)
| |
− | |-
| |
− | |in
| |
− | |Timeout
| |
− | |byte
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |in
| |
− | |VAL
| |
− | |bool
| |
− | |
| |
− | |value to write
| |
− | |}
| |
− | | |
− | ==== MODBUS_RTU_W_HOLDING ====
| |
− | Writes value to one holding register
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |Bus
| |
− | |string
| |
− | |
| |
− | |path to bus device (/dev/ttyS0)
| |
− | |-
| |
− | |in
| |
− | |UnitID
| |
− | |byte
| |
− | |
| |
− | |device bus address (0-247)
| |
− | |-
| |
− | |in
| |
− | |OfsAdr
| |
− | |word
| |
− | |
| |
− | |register address (1-9999)
| |
− | |-
| |
− | |in
| |
− | |Timeout
| |
− | |byte
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |in
| |
− | |VAL
| |
− | |word
| |
− | |
| |
− | |value to write
| |
− | |}
| |
− | | |
− | == IpWatchdog Library ==
| |
− | | |
− | === ARP ===
| |
− | | |
− | ==== IPWDG_ARP ====
| |
− | Returns ARP ping status of given ip address
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |IP_ADDR
| |
− | |string
| |
− | |
| |
− | |ip address
| |
− | |-
| |
− | |in
| |
− | |TMO_S
| |
− | |int
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |bool
| |
− | |
| |
− | |status
| |
− | |}
| |
− | | |
− | === ICMP ===
| |
− | | |
− | ==== IPWDG_ICMP ====
| |
− | Returns ICMP ping status of given ip address
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |IP_ADDR
| |
− | |string
| |
− | |
| |
− | |ip address
| |
− | |-
| |
− | |in
| |
− | |TMO_S
| |
− | |int
| |
− | |
| |
− | |timeout in seconds
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |bool
| |
− | |
| |
− | |status
| |
− | |}
| |
− | | |
− | == Datalogger Library ==
| |
− | | |
− | === Logging ===
| |
− | | |
− | ==== DATALOGGER_W_BOOL ====
| |
− | Writes binary value to datalogger
| |
− | {| class="wikitable"
| |
− | | colspan="5" |[[#Asynchronous operations|Asynchronous interface]]
| |
− | |-
| |
− | |in
| |
− | |KEY
| |
− | |string
| |
− | |
| |
− | |key for logged value
| |
− | |-
| |
− | |in
| |
− | |VALUE
| |
− | |bool
| |
− | |
| |
− | |value
| |
− | |}
| |
− | | |
− | == Utility Library ==
| |
− | | |
− | === Generators ===
| |
− | | |
− | ==== GEN_PULSE ====
| |
− | Generates unite pulse
| |
− | {| class="wikitable"
| |
− | |in
| |
− | |T_PER
| |
− | |time
| |
− | |
| |
− | |signal period
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |bool
| |
− | |
| |
− | |output value
| |
− | |}
| |
− | | |
− | ==== GEN_RECT ====
| |
− | Generates rectangle signal
| |
− | {| class="wikitable"
| |
− | |in
| |
− | |T_UP
| |
− | |time
| |
− | |
| |
− | |duration of high value
| |
− | |-
| |
− | |in
| |
− | |T_DOWN
| |
− | |time
| |
− | |
| |
− | |duration of low value
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |bool
| |
− | |
| |
− | |output value
| |
− | |}
| |
− | | |
− | ==== GEN_SQ ====
| |
− | Generates square signal
| |
− | {| class="wikitable"
| |
− | |in
| |
− | |T_SQ
| |
− | |time
| |
− | |
| |
− | |duration of high or low value
| |
− | |-
| |
− | |out
| |
− | |Q
| |
− | |bool
| |
− | |
| |
− | |output value
| |
− | |}
| |
− | | |
− | == Program Library ==
| |
− | | |
− | === Program informations ===
| |
− | | |
− | ==== PROGRAM_INFO ====
| |
− | Returns informations about running program
| |
− | {| class="wikitable"
| |
− | |out
| |
− | |CYCLE
| |
− | |int
| |
− | |
| |
− | |actual cycle number
| |
− | |-
| |
− | |out
| |
− | |RUN_CYCLES
| |
− | |int
| |
− | |
| |
− | |cycles to run (0 - infinite loop)
| |
− | |-
| |
− | |out
| |
− | |MS_PER_CYCLE
| |
− | |int
| |
− | |
| |
− | |minimum cycle duration
| |
− | |-
| |
− | |out
| |
− | |OVERRUN
| |
− | |bool
| |
− | |
| |
− | |previous cycle was longer than requested minimal value
| |
− | |}
| |