logo资料库

LabView采用以太网(TCP)方式与西门子S7-1200PLC通讯.docx

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
本文介绍 LabView 采用以太网(TCP)方式与西门子 S7-1200PLC 通讯 关键字:LabView、S7-1200、TCP、PLC、通信 1、概述 西门子 S7-1200 PLC 支持多种协议通过以太网通讯方式,如 OPC、TCP、S7、MODBUS-TCP 等。TCP 方式相比其它协议,具有更多的灵活性,更快的数据响应等优点,本人即介绍 LabVIEW 通过 TCP 方式与 S7-1200 PLC 通信。 S7-1200 PLC 的 TCP 通信方式,称之为“开放式用户通讯”,通过以太网发送或读取数据。 2、测试环境 2.1 硬件平台 1) 2) PLC:CPU 1215C 固件 v4.0; PC 一台; 2.2 软件平台 1) 博途 TIA V14 2) LabVIEW 2012 或以上版本 2.3 整体思路 1) --> 编译下载 2) PLC 编程:配置 PLC --> 添加发送和接收数据块 --> 发送数据程序 --> 接收数据程序 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) PlcRecvData,数据类型 Array of Byte,操作方法同步骤 1、2、3。 添加接收数据块。该数据块用于存储 LabVIEW 向 PLC 发送的数据。数据块名称 图 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,切 记不要选择新建(此例的通讯连接为自动创建,因此发送与接收共用一个连接,必须保持一 致才能正常通讯)。
分享到:
收藏