INTOUCH SMC与各常用PLC设备通讯数据格式
一、MBTCP
1、下表包含了由MBTCP通信驱动程序支持的, TSX Quantum, TSX Momentum, TSX Premium, Generic Modbus (4-Digit, 5-Digit, and 6-Digit), Compact 984, 和 Modicon Micro的数据类型。
TSX Quantum/ TSX Momentum/ TSX Premium/ Generic Modbus/ Compact 984/ Modicon Micro Data Type | Range |
|---|
Discrete (bit/Boolean) | 0 (zero), 1 (one) |
Signed Short Integer (signed 16-bit integer) | -32768 to 32767 |
Unsigned Short Integer (unsigned 16-bit integer) | 0 (zero) to 65535 |
Signed Long Integer (signed 32-bit integer) | -2147483648 to 2147483647 |
Unsigned Long Integer (unsigned 32-bit integer) | 0 (zero) to 4294967295 |
REAL (32-bit float) | 32-bit IEEE |
LONG REAL (64 bit float) | 64-bit IEEE |
Unsigned Long Long Integer (unsigned 64-bit integer) | 0 to 18,446,744,073,709,551,615 |
Signed Long Long Integer (signed 64-bit integer) | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
String (ASCII) | 246 characters (Read) 200 characters (Write) |
2、寄存器号与ModiconPLC使用的点命名约定一致,用作项目名称。由通信驱动程序支持的Modbus系列PLC地址范围,用于TSX Quantum, TSX Momentum, TSX Premium, Generic Modbus (4-Digit, 5-Digit, and 6-Digit), Compact 984, 和 Modicon Micro PLCs如下表所示。一般使用通用Modbus(6位)。
Register Type | Generic Modbus (6-Digit) 通用Modbus(6位) | Generic Modbus(5-Digit) 通用Modbus(5位) | GenericModbus (4-Digit) | Tag Type | Access |
|---|
01H功能码05H功能码0FH功能码Output Coils 输出线圈 | 1-65536【默认】 基于1的寻址 0-65535 如果选择了基于0的寻址 | 1-9999【默认】 基于1的寻址 0-9998 如果选择了基于0的寻址 | 1-999【默认】 基于1的寻址 0-998 如果选择了基于0的寻址 | Discrete (离散) | Read Write |
02H功能码Contacts | 100001-165536 【默认】 基于1的寻址 100000-165535 如果选择了基于0的寻址 | 10001-19999 【默认】 基于1的寻址 10000-19998 如果选择了基于0的寻址 | 1001-1999 【默认】 基于1的寻址 1000-1998 如果选择了基于0的寻址 | Discrete (离散) | Read- Only |
04H功能码Input 输入寄存器 | 300001-365536 【默认】 基于1的寻址 300000-365535 如果选择了基于0的寻址 | 30001-39999 【默认】 基于1的寻址 30000-39998 如果选择了基于0的寻址 | 3001-3999 【默认】 基于1的寻址 3000-3998 如果选择了基于0的寻址 | Analog (模拟) | Read- Only |
03H功能码06H功能码10H功能码Holding 保持寄存器 | 400001-465536 【默认】 基于1的寻址 400000-465535 如果选择了基于0的寻址 | 40001-49999 【默认】 基于1的寻址 40000-49998 如果选择了基于0的寻址 | 4001-4999 【默认】 基于1的寻址 4000-4998 如果选择了基于0的寻址 | Analog (模拟) | Read Write |
Extended 扩展寄存器 | 6x0001-6x9999 【默认】 基于1的寻址 此寄存器类型不支持基于0的寻址。 | 6x001-6x999 【默认】 基于1的寻址 此寄存器类型不支持基于0的寻址。 | 不支持 | Analog (模拟) | Read Write |
注:
(1) 01H功能码为读线圈寄存器,可对单个或多个位进行操作。
(2) 02H功能码为读离散输入寄存器,可对单个或多个位进行操作。
(3) 03H功能码为读保持寄存器,可对单个或多个字进行操作。
(4) 04H功能码为读输入寄存器,可对单个或多个字进行操作。
(5) 05H功能码为写单个线圈寄存器,可对单个位进行操作。
(6) 06H功能码为写单个保持寄存器,可对单个字进行操作。
(7) 0FH功能码为写多个线圈寄存器,可对多个位进行操作。
(8) 10H功能码为写多个保持寄存器,可对多个字进行操作。
3、下表列出了与带有 MBTCP 通信驱动程序后缀的点命名约定一致的其他项目名称格式。
Item Name | Description |
|---|
400001 | 16-bit unsigned quantity. |
400001 S | 16-bit signed quantity. |
400001 I | 32-bit signed quantity. This takes up two consecutive registers. |
400001 L | 32-bit signed quantity. This takes up two consecutive registers. |
400001 F | floating-point quantity. This takes up two consecutive registers. |
400001 U | 32-bit unsigned quantity. This takes up two consecutive registers. |
400001 LF | 64-bit floating-point quantity. This takes up four consecutive registers. |
400001 LL | 65-bit signed quantity. This takes up four consecutive registers. |
400001 UL | 64-bit unsigned quantity. This takes up four consecutive registers. |
400001-400003 M | The register contents are treated as ASCII data. Each register contains up to two (2) ASCII characters. This example represents six (6) ASCII characters. |
300001:10 | The register contents are treated as discrete data. This example represents bit 10 of the input register 300001. |
4、MBTCP通信驱动程序还使用了另一种命名约定,称为绝对命名法。这种命名约定与PLC型号无关。 绝对命名约定允许访问四种Modbus数据类型,每种数据类型的地址从0到65535。数据类型由项目名称的后缀字符表示。
Item Name | Description | Range |
|---|
nnnnn DO | Discrete Output Modbus称为“Coils”的数据。 | 0 (zero) DO through 65535 DO |
nnnnn DI | Discrete Input Modbus称为“Contacts”的数据。 | 0 (zero) DI through 65535 DI |
nnnnn IR | Input Register Modbus称为“input register”的数据。 | (zero) IR through 65535 IR |
nnnnn HR | Holding Register Modbus称为“holding register”的数据。 | 0 (zero) HR through 65535 HR |
nnnnn PV | Process Variable 指“holding register”,但被视为浮点数,并假设每个浮点数占用个存器。 | 0 (zero) PV through 65535 PV |
二、SIDIR
1、Legacy Connection为绝对地址引用
SIDirect通信驱动程序附带的SIDirect遗留接口只支持PLC项的“传统”绝对寻址。要使用绝对寻址:
必须禁用优化的块访问(非优化模式)。
必须启用GET/PUT。
下表汇总了数据块和实例块的数据格式、项或点、后缀、数据类型和范围(常用已标黄)。
Data Format | Item/Point | Suffix | Data Type | Range | Examples |
|---|
Bit | D<B,I>d,Xx.y | | VT_BOOL | 0 or 1 | DB5,X2.3 |
String | D<B,I>d,Sx,v D<B,I>d,STRINGx,v | | VT_BSTR VT_BSTR | String String | DB6,S6,8 DB6,STRING6,8 |
S7String | D<B,I>d,S7Sx,w D<B,I>d,S7STRINGx,w | | VT_BSTR VT_BSTR | String String | DB6,S7S6,8 DB6,S7STRING6,8 |
Byte | D<B,I>d,Bx D<B,I>d,BYTEx | DT | VT_UI1 VT_UI1 VT_BSTR | 0 to 255 0 to 255 1990-1-1-0:00:00.000 to 2089-12-31-23:59:59.999*** | DB5,B2 DB5,Byte2 |
Byte Array | D<B,I>d,Bx,v D<B,I>d,BYTEx,v | | VT_ARRAY|VT_UI1 VT_ARRAY|VT_UI1 | 0 to 255 for each element* 0 to 255 for each element* | DB5,B2,8 DB5,Byte2,8 |
USINT | D<B,I>d,USINTx | DT | VT_UI1 VT_BSTR | 0 to 255 1990-1-1-0:00:00.000 to 2089-12-31-23:59:59.999*** | DB5,USINT2 |
USINT Array | D<B,I>d,USINTx,v | | VT_ARRAY|VT_UI1 | 0 to 255 for each element* | DB5,USINT2,16 |
Char | D<B,I>d,CHARx | DT | VT_I1 VT_BSTR | -128 to 127 1990-1-1-0:00:00.000 to 2089-12-31-23:59:59.999*** | DB7,CHAR1 |
Char Array | D<B,I>d,CHARx,v | | VT_ARRAY|VT_UI1 | -128 to 127 for each element* | DB7,CHAR1,16 |
SINT | D<B,I>d,SINTx | DT | VT_I1 VT_BSTR | -128 to 127 1990-1-1-0:00:00.000 to 2089-12-31-23:59:59.999*** | DB5,SINT2 |
SINT Array | D<B,I>dSINTx,v | | VT_ARRAY|VT_UI1 | -128 to 127 for each element* | DB5,SINT2,16 |
Word | D<B,I>d,Wn D<B,I>d,WORDn | BCD KT S5T TR D | VT_UI2 VT_UI2 VT_UI2 VT_BSTR VT_BSTR VT_R4 VT_BSTR | 0 to 65535 0 to 65535 0 to 9999*** 0.0 to 999.3*** 0ms to 2h46m30s0ms*** 0.0 to 9990.0 (s)*** 1990-1-1 to 2168-12-31 | DB5,W20 DB5,WORD20 DB5,W20BCD DB5,W20S5T DB5,W20TR |
Word Array | D<B,I>d,Wn,v D<B,I>d,WORDn,v | | VT_ARRAY|VT_UI2 VT_ARRAY|VT_UI2 | 0 to 65535 for each element* 0 to 65535 for each element* | DB5,W20,16 DB5,WORD20,16 |
UINT | D<B,I>d,UINTn | BCD KT S5T TR D | VT_UI2 VT_UI2 VT_BSTR VT_BSTR VT_R4 VT_BSTR | 0 to 65535 0 to 9999*** 0.0 to 999.3*** 0ms to 2h46m30s0ms*** 0.0 to 9990.0 (s)*** 1990-1-1 to 2168-12-31 | DB5,UINT20 DB5,UINT20BCD DB5,UINT20S5T DB5,UINT20TR |
UINT Array | D<B,I>d,UINTn,v | | VT_ARRAY|VT_UI2 | 0 to 65535 for each element* | DB5,UINT20,16 |
Integer | D<B,I>d,INTn | BCD D | VT_I2 VT_I2 VT_BSTR | -32768 to 32767 -999 to 999*** 1990-1-1 to 2168-12-31 | DB5,INT20 DB5,INT20BCD |
Integer Array | D<B,I>d,INTn,v | | VT_ARRAY|VT_UI1 | -32768 to 32767 for each element* | DB5,INT20,16 |
Double Word | D<B,I>d,Dm D<B,I>d,DWORDm | BCD TOD T | VT_UI4 VT_UI4 VT_UI4 VT_BSTR VT_BSTR | 0 to 4294967295** 0 to 4294967295** 0 to 99999999*** 0:00:00.000 to 23:59:59.999 -24D_20H_31M_23S_648MS to 24D_20H_31M_23S_647MS | DB5,D20 DB5,DWORD20T |
Double Word Array | D<B,I>d,Dm,v D<B,I>d,DWORDm,v | | VT_ARRAY|VT_UI4 VT_ARRAY|VT_UI4 | 0 to 4294967295 for each element* 0 to 4294967295 for each element* | DB5,D20,32 DB5,DWORD20,32 |
UDINT | D<B,I>d,UDINTm | BCD TOD T | VT_UI4 VT_UI4 VT_BSTR VT_BSTR | 0 to 4294967295** 0 to 99999999*** 0:00:00.000 to 23:59:59.999 -24D_20H_31M_23S_648MS to 24D_20H_31M_23S_647MS | DB5,UDINT20 DB5,UDINT20BCD |
UDINT Array | D<B,I>d,UDINTm,v | | VT_ARRAY|VT_UI4 | 0 to 4294967295 for each element* | DB5,UDINT20,64 |
Double Integer | D<B,I>d,DINTm | BCD TOD T | VT_I4 VT_I4 VT_BSTR VT_BSTR | -2147483648 to 2147483647 -9999999 to 9999999*** 0:00:00.000 to 23:59:59.999 -24D_20H_31M_23S_648MS to 24D_20H_31M_23S_647MS | DB5,DINT20 DB5,DINT20BCD |
Double Integer Array | D<B,I>d,DINTm,v | | VT_ARRAY|VT_I4 | -2147483648 to 2147483647 for each element* | DB5,DINT20,32 |
Real | D<B,I>d,REALm | | VT_R4 | +/-1.2e-38 to +/-3.4e+38 | DB5,REAL20 |
Real Array | D<B,I>d,REALm,v | | VT_ARRAY|VT_R4 | +/-1.2e-38 to +/-3.4e+38 for each element* | DB5,REAL20,16 |
其中:
d | 是数据块号,其范围为1到65535。 |
x | 为起始地址,其范围为0到65535。 |
y | 是位的位置,其范围为0到7。 0为LSB(最不重要位)。 7是MSB(最重要的位)。 |
n | 是2字节数据/2字节数据数组的起始地址。 |
m | 是4字节数据/4字节数据数组的起始地址。 |
v | 是元素(数组中的一个项)中的数据的长度,其范围为0到65534。 |
w | 是S7字符串数据的字符长度(S7消息中的大小为w+1,S7-PLC中的字符串表示的大小为w+2)。 |
2、Symbolic Connection为符号地址引用
无论西门子S7-1200或S7-1500 PLC中是否启用了优化的块访问,该符号接口都支持符号寻址。此层次结构中使用的标记名对应于您在PLC中配置的符号名称。
以下有关数据类型的章节中使用的命名约定为:
[ square brackets ] | 字母数字名称是必需的 |
< angle brackets > | 字母数字名称是可选的 |
{ curley brackets } | 方括号内的命名字段可以是递归的 |
(1) 基本数据类型
符号寻址的基本数据类型包括以下几个项目:
[DataBlockName].[SymbolicTagName]
Example:
DB5_INT.TAG_INT
BatchProcess_Block.EmergencyStartStop
(2) 复杂数据类型
用于符号寻址的复杂数据类型包括以下各项:
[DataBlockName].[SymbolicTagName]<[ArrayIndex]>.<MemberName>
数组索引的范围在-n到n之间,包括0。
Example:
DB9_STRING.TAG_STRING
Kettle2.PigmentTube[4]
Data_block_Items.IEC_Timer1.CV
(3) 用户定义的数据类型
用户定义的符号寻址的数据类型包括以下项:
[DataBlockName].{[StructTagName]<[ArrayIndex]>}.[MemberName]<[ArrayIndex]>
Example:
ProductionRoom.Reactor1.Concentrate_Pump.Motor_OL
FoodPlant.CookDeck[1].IngredientTanks[2,5].InletValve
如果数据块名称(在数据库中)与用户定义的结构标记名称相同,则项语法为:
[DataBlockName].THIS[Array Index].<Member Name>
Example:
Data Block Name: PUMP
User defined structure tag name: PUMP
Item Syntax is:
PUMP.THIS[0].Speed
(4) 系统数据类型
在使用符号寻址时,您应遵守以下项语法约束:
[PLCTagName]
Example:
PLCTag_Byte PLC标记,参考内存区域项 “%MB1”
PLCTag_Timer PLC标记,参考计时器区域项 “%T0”
(5) 一般的SIDirect项语法约束
在使用符号寻址时,您应遵守以下项语法约束:
符号名称的最大长度:数据块表中的128个字符
数组的最大尺寸维数为:6
每个数组的最大元素数:1600个
结构项的最大嵌套深度:8层
结构中的最大组件数量:252
3、意:在PORT下的层次结构中最多可存在1024个Legacy Connection和Symbolic Connection)。
4、其他PLC系统信息、报警信息、时间信息请查询help.doc
5、200Smart中地址如下:
V区 |
V0.0 | DB1,X0.0 |
VB0 | DB1,B0 |
VW0 | DB1,W0 |
VD0(双整数) | DB1,D0 |
VD0(实数) | DB1,REAL0 |
M区 |
M0.0 | MX0.0 |
MB0 | MB0 |
MW0 | MW0 |
MD0 | MD0 |
三、ABCIP
ABCIP通信驱动程序目前支持遵循各种Allen-Bradley ControlLogix, CompactLogix, FlexLogix, PLC-5, SLC500, 和 MicroLogix families of controllers约定的项目名称。
1、Logix5000 Item Naming
Logix5000控制器(ControlLogix, CompactLogix, FlexLogix, GuardLogix and SoftLogix)将数据存储在标签中,您可以创建其名称。这与传统的Allen-Bradley PLC-5、SLC500或MicroLogix控制器形成了对比,它们将数据存储在数据/节文件中,其名称必须遵循供应商预定义的命名约定。
Logix5000标记在处理多个项时使用数组而不是文件编号。也就是说,“[]”将被接受为一个有效的符号,但“:”将被拒绝为标签名称。Logix5000项语法如下表所示(常用已标黄)。
项目 | 语法 |
|---|
Program tag | Program:<Program_Name>.<Tag_Name> |
IO tag | <Location>:<slot_#>:<Data_ Type><Member_Name>.<SubMember_Name>.[<bit_#>] |
Entire tag | <Tag_Name> |
Member of structure tag | <Tag_Name>.<Member_Name> |
Array element | <Tag_Name>[<element_X>] |
Two-dimensional array element | <Tag_Name>[<element_X>,<element_Y>] |
Three-dimensional array element | <Tag_Name>[<element_X>,<element_Y>,<element_Z>] |
Block reads/writes of one-dimensional arrays (supported types: BOOLS, SINTS, INTS, DINTS, REALS, LONG) | <Tag_Name>[<element_X>],L<number_of_items_#> |
String tag | <String_Tag_Name>[.DATA[[<element_#>] ]][,SC<string_length_#>] <String_Tag_Name>[.DATA[[<element_#>] ]][,SP<string_length_#>] <String_Tag_Name>[.DATA[[<element_#>] ]][,SS<string_length_#>] |
String tag array | <String_Tag_Name>[<element_X>][.DATA [[<element_#>]]][,SC<string_length_#>] <String_Tag_Name>[<element_X>][.DATA [[<element_#>]]][,SP<string_length_#>] <String_Tag_Name>[<element_X>][.DATA [[<element_#>]]][,SS<string_length_#>] |
Bit within integer | <Tag_Name or Member_Name>.<bit_#> |
Read-only item syntax to read controller time-stamped data | <Tag_Name>&T&<Time_Tag> <Hierarchy_Node_Path><Tag_Name>&T&[.]<TimeTag> |
注:当数据和时间戳位于相同的结构中(例如UDT)时,当输入结构的项目名称时,&T&分隔符之后的可选时间段减少了为时间标签重新键入相同结构名称的需要。 | Example: A.B.C.D.DataTag&T&A.B.C.D.TimeTag A.B.C.D.DataTag&T&.TimeTag |
注:[DT]限定符是用来以日期和时间格式订阅值(LINT)的一个选项。 | Example: A.B.C.D.TimeTag DT 注意:必须在<TimeTag>和DT限定符之间插入一个空格。使用[DT]限定符会使标记成为只读状态。 |
上表中:
[]斜体括号表示元素为可选元
[]不是斜体方括号表示数组索引。
<>表示用户输入(如控制器程序中定义)。
字符串占位符(以大写开头):Location, Program_Name, Tag_Name, Data_Type, Member_Name, SubMember_Name, and String_Tag_Name。
数字占位符(全部为小写形式):elemeny_#, element_X, element_Y, element_Z, string_length_#, slot_#, bit_#, and number_of_items_#。
<Location>将网络位置标识为:LOCAL = 本地轨道或机架 <Adapter_Name> =远程模块的名称
<Data_Type> 用以下单一字母表示:I=input, O=output, C=configuration, and S=status.
所有其他的都是预定义的关键字或符号。
Examples:
Tag Name | Example |
|---|
String tag array | BatchRecipe[4], BatchRecipe[4].DATA BatchRecipe[4].DATA[0],sc82 (它们都返回相同的数据) |
Two-dimensional array tag | Mixer_StepTimer_Preset[3,5] |
User-defined structure tag | ProductionUnit.AssemblyLine[2].Counter[4] |
Program tag | Program:MainProgram.Tank[1,2,4].Level Program:UserProgram.OperationMode |
Module tag | Local:6:O.Data.31 Remote_IO:2:C.ProgValue |
注意:字符串类型的成员是一种以StringTag形式存在的隐式结构。数据和字符串标记。LEN(其中DATA成员是一个由82个元素组成的数组,而LEN成员定义了字符串的实际长度)。因此,默认情况下,一个字符串成员将使用两个嵌套级别。如果在将字符串放入订阅时,数据成员没有显式地包含在字符串规范中,则字符串的长度字段将用于确定要返回的字符串的长度。
注意:“DT”限定符为请求“VT_DATE”二进制值的OPC客户端返回一个UTC日期/时间。对于请求DDE和Suite链接客户端“VT_BSTR”,日期被转换为UTC日期/时间字符串。日期/时间字符串支持的日期包括从1/1/1970 12:00:00AM (GMT) 到 8/30/2920 5:19:59AM (GMT)。
2、模块定义的数据类型
模块定义的数据类型在定义了相应的I/O或DeviceNet模块后,在RSLogix5000软件中自动创建。
模块定义的标记不允许对用户进行修改。
格式是由Logix5000控制器固定。
3、用户定义的数据类型
ABCIP通信驱动程序支持读取和写用户定义的数据类型。Logix用户定义的数据类型是一个定制的结构,由可以是元素成员、数组(仅限单维成员)或结构本身的成员组成。
用户定义的数据类型标记可以是单元素的,也可以是三维的数组。该结构的成员可以是此通信驱动程序支持的任何数据类型。如果一个结构包含另一个结构作为其成员,则支持的最大嵌套级别最多为20级。
结构中的每个成员级别或用户定义的标记中的每个数组维度都会消耗一个嵌套级别。组成结构成员的单个位并不构成嵌套级别。
通信驱动程序支持优化用户定义的数据类型。有关UDT优化的信息,请参阅Logix5000读取优化。
4、块数组的读取和写入
ABCIP通信驱动程序支持从受支持的ControlLogix, FlexLogix,和CompactLogix controllers中块读写一维阵列。
通信驱动程序不支持以下功能:
块读取/写入字符串。
结构的块读/写(预定义或用户定义)。
注意:所请求的块大小不能超过486个字节。
支持五种不同的数据类型,由于块大小的限制,每种数据类型都需要对限定符进行不同的允许。
支持三种优化模式,每种模式都有不同的最大限定符裕量,如下表所示:读取优化、启动优化和不优化。
注意:“Ln”限定符中的数字不需要偏移,因为它是从1开始的总数。
Data Type | Qualifier Allowance (n) |
|---|
Optimize for Read | Optimize for Startup No Optimization |
Boolean (VT_BOOL) | 3840 | 3831 |
SINT (VT_I1) | 486 | 478 |
INT (VT_I2) | 243 | 239 |
DINT (VT_I4) | 114 | 114 |
Real (VT_R4) | 121 | 119 |
LINT (VT_I8) | 60 | 59 |
注意:如果指定的数组元素范围完全符合基于DINT(4字节)内存单元的连续块,那么布尔数组标记可能允许多达3872个项。也就是说,布尔数组项目块从数组索引0或每四个字节(32-bits)间隔开始。
例如,索引0、32、64、96、...可以最大限度地利用这个特性。
5、其他PLC系统信息、报警信息、时间信息请查询help.doc
四、OMRONFINS
1、设置设备的站ID
设置所选设备的站ID,以便通信驱动程序能够在网络上识别并与其通信。
对于以太网通信,设备的站ID必须使用以下语法(该语法为常用语法):
<IP address>:<port number>:<network address>:<node number>:<Unit ID>:<Mode>
对于添加到通用通信驱动程序配置的最后一个设备,站ID必须使用以下语法:
<IP address>:<port number>:<network address>:<node number>
对于串行通信,设备的站ID必须使用以下语法:
<subnet>:<node>:[unit ID]
注意:通过UDP通信连接到PLC,不支持通过辅助物理以太网子网上的多个远程PLC进行路由。
下面的语法图显示了所有可能的选项:
{ | IP address:port number: } subnet:node { | :unit ID { | : { CS1 | CV } } }
其中,
IP address:您在UDP/IP以太网网络上的设备的IP地址。
port number:端口号为FINS协议在设备上使用的UDP端口。它通常是9600,但它可以在设备设置中进行更改。
network address:根据FINS协议,网络地址是设备的子网地址。
node number:指定FINS子网上的设备节点号(1-254)。如果不指定一个值,则会自动插入上次使用的节点号。
Unit ID:在PLC程序中配置的用于PC接口的ID号。此参数为可选参数;如果未指定任何值,则默认值为0。
注意:这不是在设备的硬件设置中配置的单元ID(通常与IP地址中主机号一致)。
Examples
有效的站点ID的示例:
192.168.2.22:9600:0:22:0:CS1
0:1:0
2、项目引用语法
此通信驱动程序中的项引用将使用以下语法。
对于所有多字节内存寄存器,请使用以下语法:
<register type><address>@[data type]
<register type><address>[data suffix]
对于位可访问的内存寄存器(即除PVC和PVT外的所有类型),使用以下语法::
<register type><address>:<bit>
<register type><address>.<bit>
对于字符串,请使用以下语法:
<register type><starting address>-<register type><ending address>C
下面的语法图显示了所有可能的选项:
{ { CIO | A | H | W | D | EMarea }address (or starting address){ { @Short | S } | { @BCD | B } | { @Long | L } | @DWord | { @LBCD | M } | { @Float | F } | { : | . }bit | -{ CIO | A | H | W | D | EMarea }ending addressC } | { PVC | PVT }address (or starting address){ { @Short | S } | { | @Word | U } | { @BCD | B } | -{ PVC | PVT }ending addressC } }
其中
register type: 寄存器类型或内存区域。对于扩展的数据存储器(EM),可用的区域包括A到M。
address: 设备上的特定内存地址。
data type / data suffix: 从设备内存中读取的值的格式化数据类型。他的参数是可选的;如果没有指定数据类型,那么在默认情况下,该值将被格式化为Word(即,无符号,16位十进制)。
Bit: 内存地址中的特定比特号。第0位是低位。第15位是最高的一位。
starting address, ending address: 一个字符串的起始地址和结束地址。字符串被存储为ASCII数据。每个两字节寄存器包含两个字符,字符串和字符串长度可以从1到40个寄存器 (即,2到80个字符)。
3、地址说明
地址描述包括寄存器类型、项目名称和允许的值范围、默认数据类型、允许的后缀(如果有)和允许的访问方法。
Register Type | Item Reference | Length | Data Types | Access |
|---|
Item Name | Address Range |
CIO Auxiliary Relay | CIO A or AR | 0000 to 6143 | 2 Bytes | Short, BCD | Read/Write |
0000 to 6142 | 4 Bytes | Long, DWord, LBCD, Float | Read/Write |
0000.00 to 6143.15 000 to 447 | 1Bit 2Bytes | Boolean Short, BCD | Read/Write Readonly |
448 to 959 | 2Bytes | Short, BCD | Read/Write |
000 to 446 | 4Bytes | Long, DWord, LBCD, Float | Readonly |
448 to 958 000.00 to 447.15 | 4Bytes 1Bit | Long,DWord, LBCD, Float Boolean | Read/Write Readonly |
448.00 to 959.15 | 1Bit | Boolean | Read/Write |
Holding Relay Working Relay | H or HR W | 000 to 511 | 2Bytes | Short, BCD | Read/Write |
000 to 510 | 4Bytes | Long, DWord, LBCD, Float | Read/Write |
000.00 to 511.15 000 to 511 | 1Bit 2Bytes | Boolean Short, BCD | Read/Write Read/Write |
000 to 510 | 4Bytes | Long, DWord, LBCD, Float | Read/Write |
000.00 to 511.15 | 1Bit | Boolean | Read/Write |
Data Memory | D or DM | 0000 to 32767 | 2Bytes | Short, BCD | Read/Write |
0000 to 32766 | 4Bytes | Long, DWord, LBCD, Float | Read/Write |
0000.00 to 32767.15 | 1Bit | Boolean | Read/Write |
Expansion Data Memory | EM | A0000 to M32767 A0000 to M32766 | 2Bytes 4Bytes | Short, BCD Long, DWord, LBCD, Float | Read/Write |
A0000.00 to M32767.15 | 1Bit | Boolean | Read/Write |
Present Value Counter | PVC | 0000 to 4095 | 2Bytes | Short, Word, BCD | Read/Write |
Present Value Timer | PVT | 0000 to 4095 | 2Bytes | Short, Word, BCD | Read/Write |
4、支持的数据类型
该数据类型在项语法中被指定为一个后缀。此通信驱动程序支持以下数据类型。
DataType | Suffix | Description | Range of Values |
|---|
Boolean | by bit | 单个bit. | 0 or 1 |
Short | @Short, S | 有符号,16位十进位。第0位是低位。第14位是最高的一位。第15位是符号位。 | -32768to32767 |
Word | @Word, U | 无符号,16位十进制。第0位是低位。第15位是最高的一位。 | 0 to 65535 |
Long | @Long, L | 有符号,32位十进制。第0位是低位。第30位是最高的一位。第31位是符号位。 | -2147483648 to 2147483647 |
DWord | @DWord | 无符号,32位十进制。第0位是低位。位31是高位。 | 0 to 4294967295 |
Float | @Float, F | 32位实数。 | N/A |
BCD | @BCD, B | 双字节的BCD。取值范围为0-9999。超出此范围的值未定义。 | 0 to 9999 |
LBCD | @LBCD, M | 四字节的BCD。值范围为0-999999999。超出此范围的值未定义。 | 0 to 99999999 |
String | C | Null终止ASCII字符串。 | 2 to 80 characters per string |
5、项目引用示例
这些都是此通信驱动程序的有效项引用的示例。有关所引用地址的更多信息,请参阅制造商关于您的设备的文档(标黄为常用)。
Register Type | Address on the Device | Item Reference |
|---|
CIO | CIO 5000 as Short | CIO5000@Short |
CIO5000S |
CIO 5000 as BCD | CIO5000@BCD |
CIO5000B |
CIO 5000 as Long | CIO5000@Long CIO5000L |
CIO 5000 as DWord | CIO5000@DWord |
CIO 5000 as LBCD | CIO5000@LBCD |
CIO5000M |
CIO 5000 as Float | CIO5000@Float CIO5000F |
CIO 5000 as Bit CIO 5000 as String(length of 8 characters) | CIO5000.00 CIO5000-CIO5003C |
Auxiliary Relay | A000 as Short | A000@Short A000S |
A000 as BCD A000 as Long | A000@BCD |
A000B A000@Long |
A000L |
A000 as DWord A000 as LBCD | A000@DWord A000@LBCD |
Working Relay Data Memory | | D102M |
D00102 as Float | D102@Float D102F |
D00102 as Bit D00102 as String(length of 8 characters) | D102.00 D102-D105C |
Expansion Data Memory | EMA00200 as Short EMA00200 as BCD EMA00200 as Long | EMA00200@Short |
EMA00200S EMA00200@BCD |
EMA00200B EMA00200@Long |
EMA00200L |
EMA00200 as DWord EMA00200 as LBCD EMA00200 as Float | EMA00200@DWord EMA00200@LBCD |
EMA00200M EMA00200@Float |
EMA00200F |
EMA00200 as Bit | EMA00200.00 |
EMA00200 as String(length of 8 characters) | EMA00200-EMA00203C |
Present Value Counter | PVC100 as Short | PVC100@Short PVC100S |
PVC100 as Word | PVC100 |
PVC100@Word |
PVC100U |
PVC100 as BCD | PVC100@BCD PVC100B |
PVC100 as String(length of 8 characters) | PVC100-PVC103C |
Present Value Timer | PVT123 as Short PVT123 as Word PVT123 as BCD PVT123 as String(length of 8 characters) | PVT123@Short |
PVT123S PVT123 |
PVT123@Word |
PVT123U PVT123@BCD |
PVT123B PVT123-PVT126C |