====== S7-1200 使用说明 ======
S7-1200是遵循西门子 snap7 标准协议开发的一个FreeIOE 通用应用,您可在任何内置了FreeIOE的网关中使用S7-1200和西门子PLC(S7-1200)进行通讯交互,读写这些设备或软件的数据。采用TCP套接字方式。
----
===== 准备工作 =====
为使用 S7-1200 应用和 西门子PLC S7-1200 设备通讯时能更快更顺利的达到目标,我们有必要先了解及做一些准备工作。
1. 了解并确认目标设备是否西门子PLC S7-1200。如是S7-1200,已经自带以太网口,只需确定PLC的IP地址后即可使用S7-1200应用与之通讯获取数据。
2. 获取西门子PLC S7-1200 对外提供变量数据的列表文件,一般来说,电子表格格式比较多,这种文件在自动化行业多称为设备点表,在这份点表中,我们可以看到设备的很多变量及其设备变量属性都会被罗列出来,一般会包含:名称、描述、寄存器区、数据起始地址、运算系数等信息,如这份设备点表中无法获取到这些信息,那么就无法进行后面的工作。
3. 前面2个步骤的准备工作都完成后,还需要将设备提供点表整理为PLC S7-1200应用所需的点表,这个整理点表的工作通过电子表格软件(如Office EXCEL)可达到事半功倍的效果。PLC S7-1200应用的[[http://cloud.thingsroot.com/template/APP00000140/TPL000000207/3|参考设备模板]]。
4. 确认网关和PLC设备之间的物理连接是否正常,通过以太网方式连接PLC设备时,检查网线是否连接、网卡状态灯是否正常、还需要通过tcp/ip诊断工具检测是否可以连接到PLC设备的IP地址(一般多使用ping命令)。
===== 设备模板 =====
在平台上通过S7-1200应用 [[http://cloud.thingsroot.com/template/APP00000140/TPL000000207/3|设备模板样例]]克隆一份到自己账户名下后,参考设备模板样例的格式制作目标设备的设备模板并上传。模板样例的格式如下图:
{{:apps:app00000140:pasted:20191211-120814.png}}
^ 项目 ^ 描述 ^
| COMMENT | 这里固定为INPUT |
| 名称 | 设备中的属性/标签/变量等的名称,只能英文/数字/下划线的组合 |
| 描述 | 属性等的描述 |
| 单位 | 属性等的单位 |
| 读写属性 | RO-只读,RW-读写 |
| 协议数据类型 | 对PLC返回数据进行解码时的数据类型可用: [bool,int8,uint8,int16,uint16,int32,uint,float,double,string],PLC点表对应关系,\\ B:按字节访问--8位\\ W:按字访问---16位\\ D:按双字访问---32位 |
| 寄存器区 | PLC寄存器区的名称,支持I, Q, M, DB(V),CT, TM。 寄存器区为DB时后一列DB块编号须填写,否则保留0。\\ 200系列中的V区在点表中寄存器区填DB,DB块填1. |
| DB区 | 前一列寄存器区为DB时DB区编号须填写,否则保留0 |
| 起始地址 | 数据的起始地址。 |
| 偏移 | 当协议数据类型为bool类型时,偏移范围是0-15;\\ 当协议数据类型为字符串string时,偏移指字符串长度,需要注意:PLC中1个寄存器长度是16位, \\ 而字符串中按照ASCII编码,1个英文字符的长度是1个字节(1个字节是8位); \\ 因此,PLC中存放字符串的寄存器个数是N,那么这里字符串的长度应该是2*N。 |
| 倍率 | 当按照裸字符串进行读写(data_type 为 string或raw)时,需要指定此长度。 |
| 平台数值类型 | 设备属性点数值类型,FreeIOE支持的类型有int, float, string三种类型 |