XKMOELLR.tlk Driver Reference
Hitachi PLC Serie H Protocol Driver
This driver requires that you have TAS-HMITalk 8.04 installed.
The XKMOELLR driver allows you to connect to the Klockner Moeller
PLCs that use the SUCOM1 protocol. The communication is point-to-point
through a RS-232 port with the master PLC. Typical COM settings are
19200 bauds, even parity, 7 data bits and 1 stop bit.
IMPORTANT:
1) You should set the CommT1Delay property to a minimum of 5 milliseconds.
2) You must configure the PLC so it does not include the Office Number
in the messages it transmits (choose one-to-one communication mode).
3) If the RTS pin is wired and being used by the PLC, it might be
necessary that you set RTS in high state while transmitting
and receiving data to/from the PLC.
This driver can be used with the following modules:
CPU: 07 ZE 60 / 07 ZE 61 / 07 ZE 62
COMM: 07 KP 60
REMOTE: 07 BR 61
LINK: 07 ZB 69
This driver supports task codes to do the following tasks:
- Execute RUN/STOP commands
- Request CPU Status
- Supervise PLC registers and I/O status
- Write PLC registers and I/O
- Send optional messages to:
- Prepare the CPU to process commands (open)
- Release the CPU (close)
PLC VALID DATA TYPES AND RANGES:
E from 0.00,00 to 4.99,95
E' from 0000,00 to 2047,15
A from 0.00,00 to 4.99,95
A' from 0000,00 to 2047,15
M from 000,00 to 127,15
M' from 000,00 to 383,31
T from 00,00 to 15,15
Z from 00,00 to 15,15
EW from 0.00,00 to 4.99,09
EW' from 0000,00 to 2047,00
AW from 0.00,00 to 4.99,09
AW' from 0000,00 to 2047,00
MW from 000,00 to 3135,15 or from 4096,00 to 4127,15
MW' from 000,00 to 383,01
TC from 00,00 to 31,15
DRIVER ADDRESSING:
1) To read memory positions of type E, A, EW and AW, the addresses
adopt the form:
TT AA.BB,CC
Where:
TT = E, A, EW or AW (as defined in parameter DriverP6)
AA = Remote module number (set with parameter DriverP7)
BB = First address element (set with parameter DriverP8)
CC = (optional) Second address element (set with parameter DriverP9)
Example:
E 1.127,7
DriverP6 = 0 (numeric code for 'E' data type)
DriverP7 = 1 (AA part is 1, for subnetwork 1)
DriverP8 = 127 (BB part is 127)
DriverP9 = 7 (CC part is 7)
2) To read memory positions other than E, A, EW or AW, the addresses
adopt the form:
TT BB,CC (AA element not required)
Where:
T = E', A', M, M', EW', AW', MW, or MW' (as defined in parameter DriverP6)
BB = First address element (set with parameter DriverP8)
CC = Second address element (set with parameter DriverP9)
Example:
MW 64,15
DriverP6 = 10 (numeric code for 'MW' data type)
DriverP7 = 0 (AA=not used, communicate with PLC and not with a remote module)
DriverP8 = 64 (BB part is 64)
DriverP9 = 15 (CC part is 15)
NOTE:
If you are more familiar with using the internal names
(X, Y, WX, WY, etc) for the PLC data types where address
positions are expressed as unique hexadecimal numbers,
you can use the XHITACHH driver instead.
Programmable Logic Controllers
KLOCKNER MOELLER PLCs Using SUCOM1 Protocol
Send Prepare CPU Command to PLC
Send Release CPU Command to PLC
COMMAND DESCRIPTION:
Use this command to read a consecutive group of up to 120
analog values of a given type starting at a given initial
PLC address.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Analog Input
HMITalk1.DriverNumPoints = 1-120
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation
HMITalk1.DriverP5 = 64
HMITalk1.DriverP6 = Identifies the data type:
- 5 = Timers of type T
- 7 = Counters of type Z
- 8 = Analog Inputs of type EW
- 9 = Analog Outputs of type AW
- 10 = Analog Registers of type MW
- 11 = Analog Registers of type EW' or AW'
- 12 = Analog Registers of type MW'
- 13 = Analog Registers of type TC
HMITalk1.DriverP7 = PLC remote module number (AA element in the address)
- 0 = Communicate with PLC directly (or when AA is not indicated)
- 1 = Communicate with module 1 in RS485 subnetwork
- 2 = Communicate with module 2 in RS485 subnetwork
- 3 = Communicate with module 3 in RS485 subnetwork
- 4 = Communicate with module 4 in RS485 subnetwork
HMITalk1.DriverP8 = Indicates the BB element in the address
HMITalk1.DriverP9 = Indicates the CC element in the address
COMMAND DESCRIPTION:
Use this command to read a consecutive group of up to 240
digital values of a given type starting at a given initial
PLC address.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Input
HMITalk1.DriverNumPoints = 1-240
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation
HMITalk1.DriverP5 = 64
HMITalk1.DriverP6 = Identifies the data type:
- 0 = Digital Inputs of type E
- 1 = Digital Outputs of type A
- 2 = Digital Status of type M
- 3 = Digital Status of type E' or A'
- 4 = Digital Status of type M'
HMITalk1.DriverP7 = PLC remote module number (AA element in the address)
- 0 = Communicate with PLC directly (or when AA is not indicated)
- 1 = Communicate with module 1 in RS485 subnetwork
- 2 = Communicate with module 2 in RS485 subnetwork
- 3 = Communicate with module 3 in RS485 subnetwork
- 4 = Communicate with module 4 in RS485 subnetwork
HMITalk1.DriverP8 = Indicates the BB element in the address
HMITalk1.DriverP9 = Indicates the CC element in the address
COMMAND DESCRIPTION:
Use this command to read a consecutive group of up to 8
PLC status flags.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Input
HMITalk1.DriverNumPoints = 1-8
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation
HMITalk1.DriverP5 = 116 (or 16)
RETURNS:
- HMITalk1.PointValue(0) = Run/Stop flag
- HMITalk1.PointValue(1) = Halt state flag
- HMITalk1.PointValue(2) = Simulation state flag
- HMITalk1.PointValue(3) = Error state flag
- HMITalk1.PointValue(4) = Forced state flag
- HMITalk1.PointValue(5) = Debug state flag
- HMITalk1.PointValue(6) = Reserved
- HMITalk1.PointValue(7) = Battery error flag
COMMAND DESCRIPTION:
Use this command to write a single analog value of a given
type to a given PLC address.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Analog Output
HMITalk1.DriverNumPoints = 1
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation (recommended)
HMITalk1.DriverP5 = 69
HMITalk1.DriverP6 = Identifies the data type:
- 5 = Timers of type T
- 7 = Counters of type Z
- 9 = Analog Outputs of type AW
- 10 = Analog Registers of type MW
- 11 = Analog Registers of type EW' or AW'
- 12 = Analog Registers of type MW'
- 13 = Analog Registers of type TC
HMITalk1.DriverP7 = PLC remote module number (AA element in the address)
- 0 = Communicate with PLC directly (or when AA is not indicated)
- 1 = Communicate with module 1 in RS485 subnetwork
- 2 = Communicate with module 2 in RS485 subnetwork
- 3 = Communicate with module 3 in RS485 subnetwork
- 4 = Communicate with module 4 in RS485 subnetwork
HMITalk1.DriverP8 = Indicates the BB element in the address
HMITalk1.DriverP9 = Indicates the CC element in the address
WHERE:
- HMITalk1.PointValue(0) = Value to be sent to the PLC
COMMAND DESCRIPTION:
Use this command to write a consecutive group of up to 100
analog values of a given type starting at a given initial
PLC address.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Analog Output
HMITalk1.DriverNumPoints = 1-100
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation (recommended)
HMITalk1.DriverP5 = 66
HMITalk1.DriverP6 = Identifies the data type:
- 5 = Timers of type T
- 7 = Counters of type Z
- 9 = Analog Outputs of type AW
- 10 = Analog Registers of type MW
- 11 = Analog Registers of type EW' or AW'
- 12 = Analog Registers of type MW'
- 13 = Analog Registers of type TC
HMITalk1.DriverP7 = PLC remote module number (AA element in the address)
- 0 = Communicate with PLC directly (or when AA is not indicated)
- 1 = Communicate with module 1 in RS485 subnetwork
- 2 = Communicate with module 2 in RS485 subnetwork
- 3 = Communicate with module 3 in RS485 subnetwork
- 4 = Communicate with module 4 in RS485 subnetwork
HMITalk1.DriverP8 = Indicates the BB element in the address
HMITalk1.DriverP9 = Indicates the CC element in the address
WHERE:
- HMITalk1.PointValue(0) = Value 0 to be sent to the PLC
- HMITalk1.PointValue(1) = Value 1 to be sent to the PLC
- HMITalk1.PointValue(2) = Value 2 to be sent to the PLC
...
- HMITalk1.PointValue(n-1) = Value n-1 to be sent to the PLC
COMMAND DESCRIPTION:
Use this command to write a single digital value of a given
type to a given PLC address.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Output
HMITalk1.DriverNumPoints = 1
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation (recommended)
HMITalk1.DriverP5 = 69
HMITalk1.DriverP6 = Identifies the data type:
- 1 = Digital Outputs of type A
- 2 = Digital Status of type M
- 3 = Digital Status of type E' or A'
- 4 = Digital Status of type M'
HMITalk1.DriverP7 = PLC remote module number (AA element in the address)
- 0 = Communicate with PLC directly (or when AA is not indicated)
- 1 = Communicate with module 1 in RS485 subnetwork
- 2 = Communicate with module 2 in RS485 subnetwork
- 3 = Communicate with module 3 in RS485 subnetwork
- 4 = Communicate with module 4 in RS485 subnetwork
HMITalk1.DriverP8 = Indicates the BB element in the address
HMITalk1.DriverP9 = Indicates the CC element in the address
WHERE:
- HMITalk1.PointValue(0) = Value to be sent to the PLC
COMMAND DESCRIPTION:
Use this command to write a consecutive group of up to 200
digital values of a given type starting at a given initial
PLC address.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Output
HMITalk1.DriverNumPoints = 1-200
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation (recommended)
HMITalk1.DriverP5 = 66
HMITalk1.DriverP6 = Identifies the data type:
- 1 = Digital Outputs of type A
- 2 = Digital Status of type M
- 3 = Digital Status of type E' or A'
- 4 = Digital Status of type M'
HMITalk1.DriverP7 = PLC remote module number (AA element in the address)
- 0 = Communicate with PLC directly (or when AA is not indicated)
- 1 = Communicate with module 1 in RS485 subnetwork
- 2 = Communicate with module 2 in RS485 subnetwork
- 3 = Communicate with module 3 in RS485 subnetwork
- 4 = Communicate with module 4 in RS485 subnetwork
HMITalk1.DriverP8 = Indicates the BB element in the address
HMITalk1.DriverP9 = Indicates the CC element in the address
WHERE:
- HMITalk1.PointValue(0) = Value 0 to be sent to the PLC
- HMITalk1.PointValue(1) = Value 1 to be sent to the PLC
- HMITalk1.PointValue(2) = Value 2 to be sent to the PLC
...
- HMITalk1.PointValue(n-1) = Value n-1 to be sent to the PLC
COMMAND DESCRIPTION:
Use this command to send a prepare CPU command to the PLC to
capture the CPU's attention.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Output
HMITalk1.DriverNumPoints = 1-256
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = 0
HMITalk1.DriverP5 = 10
WHERE:
- HMITalk1.PointValue(0) = Ignored
COMMAND DESCRIPTION:
Use this command to send an release command to the PLC so
the CPU can be used by other stations.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Output
HMITalk1.DriverNumPoints = 1-256
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = 0
HMITalk1.DriverP5 = 11
WHERE:
- HMITalk1.PointValue(0) = Ignored
COMMAND DESCRIPTION:
Use this command to set the PLC into RUN or STOP mode.
If you get a 'PLC:Operation error' error message:
1) While trying to Stop the CPU, could mean that:
a) Key switch is not in the REMOTE position
b) Remote stop is not enabled
2) While trying to Run the CPU, could mean that:
a) Key switch is not in the REMOTE position
b) The CPU is in error state
c) The CPU is in debug state
d) The CPU is write occupied by other station
e) Remote run is not enabled
f) The user set operation conditions have not been met
If you get a 'PLC:Combination error' error message:
1) While trying to Stop the CPU, this message is never returned.
2) While trying to Run the CPU, could mean that run/stop command
has already been executed and the CPU is in run/stop mode.
RUN/STOP OPERATION CONDITIONS:
The CPU can run when the following conditions are met:
1) The CPU to be run has not been occupied (write occupation)
by another stations.
2) The CPU status is neither debug nor error.
3) The special internal output M 124,3 (R7C3) is ON.
4) The special internal output M 126,9 (R7E9) is OFF.
5) In case the operation control input contact is specified
by the parameter, the specified input contact is ON.
6) The RUN/STOP/REMOTE switch is set to the REMOTE position.
The CPU can stop when the following conditions are met:
1) The special internal output M 124,4 (R7C4) is ON.
2) The RUN/STOP/REMOTE switch is set to the REMOTE position.
PROPERTY SETTINGS REQUIRED:
HMITalk1.DriverDataType = Digital Output
HMITalk1.DriverNumPoints = 1-256
HMITalk1.DriverP0 = Identifies the link loop (Lump):
- 1 = CPU link loop 1
- 2 = CPU link loop 2
- 255 = No link installed
HMITalk1.DriverP1 = Identifies the unit number (lUmp):
- 0-99 = units from 0 to 99
- 255 = No link installed
HMITalk1.DriverP2 = Identifies the module number (luMp):
- 0 = CPU
- 4 = BASIC
- 8 = CPU LINK
- 16 = REMOTE (parent)
- 24 = COMM
- 32 = GPIB
HMITalk1.DriverP3 = Identifies the port number (lumP):
- 0 = CPU Sequencer
- 1 = Peripheral device port
- 0 = BASIC
- 0-9 = REMOTE child from 0 to 9
- 0 = COMM RS-232C
- 1 = COMM RS-422
- 0 = GPIB
HMITalk1.DriverP4 = Indicates if prepare/release CPU messages
must be used before and after each conversation:
- 0 = do not send prepare/release CPU messages
- 1 = send prepare CPU message before the conversation
- 2 = send prepare and release CPU messages during the conversation
HMITalk1.DriverP5 = 17
WHERE:
- HMITalk1.PointValue(0) = 0 for STOP, 1 for RUN
[1005] DRIVER (Internal): Invalid driver stage
[1300] PROTOCOL (Timeout): No answer
This driver requires that you have TAS-HMITalk 8.04 installed.
Driver Source Code Last Update: 02/27/2004 16:16:32
Driver Reference Last Update: 10/30/2008 17:40:32
© 1990-2008, CPKSoft Engineering. All rights reserved.