1、概述
西门子S7-1200PLC支持多种和谈通过以太网通讯方式,如OPC、TCP、S7、MODBUS-TCP等。TCP方式相比其它和谈,具有更多的天真性,更快的数据相应等优点,自己即先容LabVIEW通过TCP方式与S7-1200 PLC通讯。
S7-1200PLC的TCP通讯方式,称之为“开放式用户通讯”,通过以太网发送或读取数据。
2、测试环境
2.1 硬件平台
1) PLC:CPU 1215C 固件v4.0;
2) PC一台;
2.2 软件平台
1) 博途 TIA V14
2) LabVIEW 2012 或以上版本
2.3 团体思路
1) PLC编程:配置PLC --> 增加发送和汲取数据块 --> 发送数据程序 --> 汲取数据程序 --> 编译下载
2) LabVIEW编程:建立TCP连接 --> 汲取或发送数据 --> 关闭连接
3、操纵步骤
3.1 CPU配置
1) 翻开 TIA Portal,建立项目,增加CPU为1215C。
2) 双击“建筑组态”,切换到“建筑视图”,点击CPU,右键选定属性。
3) 在常规栏,选定PROFINET 接口[X1]/以太网地点属性,配置CPU的IP地点,本例配置为 192.168.0.10,如下图所示:
图 1
4) 在常规栏,选定体系和时间存储器属性,启用体系存储器字节和时钟存储器字节,如下图:
图 2
5) 要是传输的数据量大,且及时性要求高,可选定通讯负载属性,把由通讯惹起的轮回负荷由默认为20%,进步到 50%。
图 3
3.2 增加数据块
1) 增加发送数据块。该数据块用于存储PLC向LabVIEW发送的数据。点击程序块/增加新块,在翻开的对话框中选定数据块,输入名称,如 PlcSendData ,类型可选定全局DB。留意要是不一次性传输大量数据,可以干脆使用PLC变量,单次发送一个数据,不需要建立数据块。
图 4
2) 翻开该数据块PlcSendData ,增加数据,名称如 ArySendData,选定数据类型Array of Byte,即字节数组,数组长度配置为10。
图 5
3) 点窜数据块属性。选中数据块PlcSendData ,右键属性,在属性栏去掉优化的块走访,以支持绝对寻址模式。
图 6
4) 增加汲取数据块。该数据块用于存储LabVIEW向PLC发送的数据。数据块名称PlcRecvData,数据类型Array of Byte,操纵要领同步骤1、2、3。
图 7
3.3 编写发送数据程序
1) 翻开 Main 程序
2) 增加指令通讯/开放式用户通讯/TSEND_C到程序段1,调用选项的数据块名称接纳默认。
图 8
3) 配置 TSEND_C 的通讯参数。选中 TSEND_C,右键属性,切换到组态页,选定连接参数属性。同伴项选定未指定,连接数据选定新建,体系会自动建立一个连接数据,如PLC_1_Send_DB。输入同伴的IP地点,如192.168.0.12。由同伴主动确立连接,PLC的端口可保存默认的2000。连接类型为TCP,连接ID接纳默认值。(注:所谓同伴即与PLC通讯的另一方,可以为上位机PC、HMI等)
图 9
4) 配置 TSEND_C 的输入输出。TSEND_C在检测到参数 REQ 上升沿时执行发送功课,因此每次发送数据时,都应在REQ上发生一个脉冲,此处为了轻便,调用体系时钟 Clock_10Hz(每秒10次),周期性的发送数据。参数DATA为待发送的数据,此处调用数据块 PlcSendData。留意DATA接纳纯符号寻址时,发送 LEN 应配置为0,而接纳绝对寻址时,应配置为现实发送数据的长度。通讯状况参数 DONE\BUSY等按需要连接。
图 10
3.4 编写汲取数据程序
1) 增加指令通讯/开放式用户通讯/TRCV_C 到程序段2,调用选项的数据块名称接纳默认。
2) 配置 TRCV_C 的通讯参数。选中 TRCV_C,右键属性,切换到组态页,选定连接参数属性。同伴项选定未指定,连接数据选定3.3 步骤自动建立的数据,如PLC_1_Send_DB,切记不要选定新建(此例的通讯连接为自动建立,因此发送与汲取共用一个连接,必需保持一致才气平常通讯)。
图 11
3) 配置 TRCV_C 的输入输出。TRCV_C在检测到参数 EN_R 为1时启动汲取。参数DATA为数据汲取区,此处调用3.2步骤所建立的数据块PlcRecvData。留意DATA接纳纯符号寻址时,汲取 LEN 应配置为0,而接纳绝对寻址时,应配置为现实发送数据的长度。通讯状况参数 DONE\BUSY等按需要连接。具体参数信息请查看赞助文档。
图 12
4) 为了校验PLC是否精确汲取到LabVIEW所发送的数据,可通过以下两种要领测试。
a、将第3.3 的数据发送区配置为与数据汲取区相像的数据块,即 PlcRecvData,使PLC把汲取到数据发送回LabVIEW。
b、增加 MOVE 指令接纳数据挪动的要领实现此功效,如下所示:
图 13
3.5 编写LabVIEW程序
1) 建立TCP连接TCPOpenConnection。输入PLC的IP地点 192.168.0.10 和端口号2000。
图 14
2) 读取数据TCPRead。输入读取长度10(PLC程序的发送数据块长度为10个字节)。
图 15
3) 发送数据TCPWrite。
图 16
4) 关闭连接TCPClose Connection。
5) 前面板如下。点击 Write,把数据WriteData写入PLC,同时PLC把该数据发还LabVIEW,通过 ReadData显示。要是ReadData数据与WriteData一致,即通讯平常。