主题
西门子PLC 接入
PLC 设置
需要允许远程通讯访问,如下所示:
通道设置
通常情况下来说,对于S1200,S1500, Smart200 使用默认配置即可(机架号设置为 0,槽号设置为 1),不需要额外的设置参数信息。 对于 S300,通常的情况是:机架号为 0, 槽号为 2 对于 S400,机架号和槽号要看PLC实际的情况来确定。
DANGER
注:Smart 200 PLC 机架号设置为 0,槽号设置为 1
参数说明:
名称 | 必填 | 说明 |
---|---|---|
IP | 是 | 设备的IP地址。 |
端口 | 是 | 设备的通讯端口,默认为 102,一般不需要修改。 |
机架号 | 否 | 默认为0。 |
槽位号 | 否 | 默认为1。 |
读超时 | 是 | 单位毫秒,如果在指定时间内未收到子站数据,则判断为超时 |
连续超时次数 | 是 | 如果连续超时次数超过该值,则认为设备离线 |
恢复采集间隔 | 是 | 单位秒,如果设备离线,则经过该间隔时间后再次尝试读取数据 |
通讯链路超时 | 是 | 如果长时间收不到数据,如果长时间收不到数据或者终端心跳,平台会主动断开与设备的连接和通信。单位秒。 |
帧间隔 | 是 | 单位毫秒,每次接收到数据到下次发出请求之间的最小时间间隔 |
点位寻址
点表中的【设备地址】为空,【点位地址】用于对应 PLC 数据项地址。
在西门子 PLC 寻址中,首先需要指定内存类型,然后再指定内存地址。PLC 数据类型通过值类型进行定义。
数据类型表
PLC 中的数据类型与测点类型和数值类型对应关系如下。
PLC数据类型 | 说明 | 测点类型 | 数值类型 |
---|---|---|---|
USInt、Byte | 0~255 | 整数型 | uint8 |
SInt、Byte | -128~127 | 整数型 | int8 |
UInt、Word | 0~65535 | 整数型 | uint16 |
Int、Word | -32768~32767 | 整数型 | int16 |
UDInt、DWord | 0~4294967295 | 整数型 | uint32 |
DInt、DWord | -2147483648~2147483647 | 整数型 | int32 |
Real | -3.402823e+38到1.175495e-38 | 浮点型 | float32 |
LReal | 1.7976931348623158e+308到-2.2250738585072014e-308 | 浮点型 | float64 |
Char | ASCII 字符,每个字符占 1 个字节 | 文本型 | char |
String | 字符串,用于在一个字符串中存储多个数据类型为 char 的字符。 | 文本型 | string |
WChar | 宽字符,每个字符占 2 个字节,UFT-16 编码形式 | 文本型 | wchar |
WString | 宽字符串,用于在一个字符串中存储多个数据类型为 wchar 的字符。 | 文本型 | wstring |
字符串 String 中的第 1 个字节表示字符总长度,第 2 个字节表示字符有效长度。系统采到到数据后会自动提取有效字符。
宽字符串 WString 中的第 1 个字表示字符总长度,第 2 个字表示字符有效长度。系统采到到数据后会自动提取有效字符。
内存类型表
内存类型 | 说明 |
---|---|
I | 输入 |
Q | 输出 |
M | 标志内存 |
DB | 数据块 |
V | DB1数据块,V1001 相当于 DB1,1001 |
T | 时计器 |
C | 计数器 |
输入、输出、外设、标志内存类型
地址格式 | 测点类型 | 数值类型 | 示例 |
---|---|---|---|
<内存类型><地址> | 浮点型 | float32 | M100 |
<内存类型><地址> | 整数型 | int8,uint8,int16,uint16 | M100 |
<内存类型><地址><.位> | 布尔型 | bit | I100.0 |
<内存类型><地址><.字符长度>H | 文本型(由高到低) | char,wchar,string,wstring | M100.10H |
<内存类型><地址><.字符长度>L | 文本型(由低到高) | char,wchar,string,wstring | M100.10L |
DB 内存类型
地址格式 | 测点类型 | 数值类型 | 示例 |
---|---|---|---|
DB<数字>,<地址> | 浮点型 | float32 | DB1,100 |
DB<数字>,<地址> | 整数型 | int8 | DB1,100 |
DB<数字>,<地址><.位> | 布尔型 | bit | DB1,100.0 |
DB<数字>,<地址><.字符长度>H | 文本型(由高到低) | char,wchar,string,wstring | DB1,2.5H |
DB<数字>,<地址><.字符长度>L | 文本型(默认,由低到高) | char,wchar,string,wstring | DB1,2.5L |
示例:DB1,2.5H 读取 DB1 中起始地址为 2 的长度为 5 个字节的字符串,按字节顺序由低到高排序
CAUTION
备注:SMART 200 因为只有一个数据块,所以 DB 序号为固定的 1。
点位地址示例
地址 | 测点类型 | 数值类型 | 说明 |
---|---|---|---|
DB1,100 | 浮点型 | float32 | 读取 DB1 中的起始地址为100的 Real 类型的点 |
DB1,100.0 | 布尔型 | bit | 读取 DB1 中的起始地址为100的第 0 位 |
DB1,100.5L | 文本型(由低到高) | char | 读取 DB1 中起始地址为 100,长度为 5 个字符,编码为 ASCII |
DB1,100.10L | 文本型(由低到高) | wstring | 读取 DB1 中起始地址为 100 的字符串,编码为 ASCII,字符总长度为 10,起始地址开头的第 2 个字节表示有效字符长度(有效字符长度 < 8) |
DB1,100.5L | 文本型(由低到高) | wchar | 读取 DB1 中起始地址为 100,长度为 5 个宽字符,编码为 UTF16,字节数为 10 |
DB1,100.10L | 文本型(由低到高) | wstring | 读取 DB1 中起始地址为 100 的宽字符串,编码为 UTF16,字符总长度为 10,起始地址开头的第 2 个字表示有效字符长度(有效字符长度 < 8) |
M1.0 | 布尔型 | bit | 读取 M 寄存器中起始地址为1的第 0 位 |