西门子S7—1500 PLC 与斑马桌面条码打印机间的TCP通信
2017-08-14陈文杰
陈文杰
摘 要:介绍西门子S7-1500 PLC 与斑马打印机之间如何建立开放式用户通信的技巧,如何使用ZPL-II-语言编程对斑马打印机的标签模板进行定义,并打印出来。
关键词:S7-1500 斑马打印机 开放式用户通信 TCP
1 开放式用戶通信及通信任务概述
TCP支持面向TCP/IP的Socket。TCP支持给予TCP/IP的发送和接收,使得设备在工业以太网上的通信非常容易。这就允许 CPU 与任何通信设备进行开放式数据交换,通信伙伴可以是两个 SIMATIC PLC,也可以是 SIMATIC PLC 和相应的第三方设备,前提是这些设备支持该集成接口可用的连接类型。由于此通信仅由用户程序中的指令进行控制,因此可以在程序中建立和终止事件驱动型连接。 在运行期间,也可以通过用户程序修改连接。
1.1 硬件和软件需求及所完成通信任务
硬件:
(1)S7-1500 CPU
(2)斑马打印机G430T(带以太网口)
(3)PC(带以太网卡)
(4)以太网电缆(交叉或直连)
(5)交换机EKI-2528(方便监控)
软件:
(1)STEP7 V13 SP1
(2)Zebra Setup Utilities(可在斑马打印机的随机光盘获取)
通信任务
(1)S7-1500发送DB1中的254个字节到斑马打印机G430T
(2)斑马打印机G430T接收到S71500的DB1数据区中的254个字节,并将其按规定的格式打印出来。
(3)实现根据产品文字号码追溯产品的生产过程信息的目的。
2 S7-1500侧的编程组态
使用STEP7 V13 SP1 软件新建一个项目并完成硬件配置和网络组态。本例中在S7-1500侧采用集成的简单指令“TSEND_C”来实现连接关系的建立中止以及数据的发送。
2.1 在STEP7 V13 SP1中组态S7-1500CPU,并且打开 “设备视图”→“PROFINET 接口_1” →“属性”→“常规”→“以太网地址”→“IP协议” → “在项目中设置IP”,为集成PN口分配IP地址192.168.0.100,子网掩码255.255.255.0。
2.2在主循环程序中调用功能块“TSEND_C”编写集成发送程序,为其分配背景数据块。其接口参数可以通过组态进行配置,在2.4中介绍。该块在REQ上升沿时触发数据发送。本例中调用打印机标签模板的ZPL-II-语言程序就存储在DB1数据区以DBB0开头的这254个字节中。
2.3“TSEND_C”指令可以用“TCP”协议或者“ISO_on_TCP”,使本地机与远程机进行通信,本地机向远程机发送数据。该指令能被CPU自动监控和维护。具体参数含义可以选中该块并按F1键,参考在线帮助。
2.4 选中“TSEND_C”块,在属性组态菜单中,按如下顺序为“TSEND-C”块组态连接参数。在本例中,S7-1500与第三方通信设备进行开放式数据交换,所以首先通信伙伴选择为未指定。然后新建连接数据,系统自动分配连接数据存储在PLC_1_Send_DB中。选择连接类型TCP,选择组态模式为使用程序块。指定通信伙伴的IP地址192.168.0.2,指定连接ID为1,选择一方主动要建立连接,本例中选择S7-1500主动建立连接。接下来定义本地的端口号和通信伙伴端口号。本例中PLC选择端口号2000,第三方通信设备选择端口号2100。此处定义的端口号和IP地址必须与斑马打印机G430T侧一致。配置完成后,可以点击打开:程序块→系统块→系统资源→PLC_1_Send_DB查看,可以看到其中包含TCP连接所需的参数,并且该PLC_1_Send_DB作为变量已经自动填到“TSEND_C”相应的输入管脚CONNECT上。
2.5 在本例中,CPU以接收 “PrintSwich”按钮信号来发送数据,在REQ上升沿时激活。连接关系在CONT为1时建立并保持,为0时断开。发送的地址区为DB1.DBX0.0开始的254个字节。 完成编程组态并下载后,可以在S7-1500中,通过点击“TSEND_C”程序块右上角的诊断图标 ,进入连接在线信息页面可以查看连接状态。
3 斑马打印机侧的配置与编程
在对斑马打印机进行设置与编程前,需先将电脑与斑马打印机通过USB打印线连起来,并接上电源,再安装驱动。
3.1 安装 zebra setup utility 软件,并打开软件。
3.2 用USB 或者并口或者网络接口连接好打印机与PC 机,点击“InstallNewPrinter”。本例中是通过USB打印线与打印机进行通信设置。
3.3安装驱动后,将会可以看到你需要配置的打印机,并选中该打印机。
3.4 然后点击 “configure printer connectivity”,对打印机的参数进行配置。
3.5 选择打印机的连接类型。选中“Wireless”点击下一步。
3.6设置打印机的IP地址,选择“Static”,为打印机分配IP地址192.168.0.2,子网掩码255.255.255.0。点击“Nest”继续打印机设置向导,其它设置一般采用默认设置即可,直至所有打印机的设置向导结束。
3.7完成打印机的设置向导后,在打印机绿灯常亮状态下,按住打印机上面的键,绿灯第一次闪一下后松开,打印机将打印出其修改后的参数数据,看是否与设置向导中设置的参数一致。
3.8 打印机的默认端口号是9100,也可以根据需要自行修改,如本例中打印机的端口号为2100。端口号的修改:将电脑与打印机通过网线连接,在网页中输入当前打印机的IP地址如192.168.0.2回车即可打开打印机的参数网页,默认修改密码为1234。
3.9 接下来我们就要根据事先设计好的标签模板,按斑马打印机-ZPL-II-语言编程,并将编好的程序发送给打印机。打开zebra setup utility 软件,选中刚才设置的打印机,点击“Open Communication With Printer”按鈕,弹出“Direct Communication” 设置画面,把编译好的ZPL-II-语言程序黏贴到“untitled1”发送框,点击“Send To Printer”按钮,将程序程序下载到打印机中。该程序对标签模板的布局进行定义。详细定义程序如下:
^XA
^DFE:TCS0950.ZPL^FS
^MMT
^PW673
^LL0325
^LS0
^LT10
^FT512,351^BQN,2,5^FN1^FS
^FT143,239^A0N,42,40^FH\^FN2^FS
^FT143,295^A0N,42,40^FH\^FN3^FS
^FT145,48^A0N,42,36^FH\^FN4^FS
^FT156,109^A0N,42,36^FH\^FN5^FS
^FT193,171^A0N,42,40^FH\^FN6^FS
^FT510,109^A0N,42,40^FH\^FN7^FS
^FT520,170^A0N,42,40^FH\^FN8^FS
^FT474,49^A0N,42,40^FH\^FN9^FS
^FT574,48^A0N,42,40^FH\^FN10^FS
^FO3,123^GB668,0,4^FS
^FO2,185^GB668,0,2^FS
^FO2,61^GB669,0,5^FS
^FO461,3^GB0,181,3^FS
^FO332,3^GB0,181,4^FS
^FO131,3^GB0,322,4^FS
^FT604,170^A0N,42,40^FH\^FDm^FS
^FT372,171^A0N,42,40^FH\^FDQty^FS
^FT371,109^A0N,42,40^FH\^FDPIC^FS
^FT360,48^A0N,42,40^FH\^FDTime^FS
^FT38,268^A0N,42,40^FH\^FDNo.^FS
^FT15,170^A0N,42,40^FH\^FDModel^FS
^FT5,109^A0N,42,40^FH\^FDSection^FS
^FT21,49^A0N,42,40^FH\^FDName^FS
^FO669,3^GB0,321,3^FS
^FO2,4^GB0,321,3^FS
^FO1,321^GB668,0,4^FS
^FO3,3^GB668,0,3^FS
^PQ1,0,1,Y
^XZ
3.10调用模板,对打印机打印标签纸进行打印及微调。这样打印机的设置工作也就完成了。详细调用模板程序如下:
^XA
^XFE:TCS0950.ZPL^FS
^FN1^FDMM,AL15ZGY000000101L13516093000003^FS
^FN2^FDL15ZGY0000001^FS
^FN3^FD01L13516093000003^FS
^FN4^FDPOSITIVE^FS
^FN5^FDL15SPL.^FS
^FN6^FDL135^FS
^FN7^FD002644^FS
^FN8^FD1312^FS
^FN9^FD1110^FS
^FN10^FD11:54^FS
^XZ
图1打印出来的产品信息
最后,只需将调用打印机标签模板ZPL-II-语言程序与S7-1500程序整合起来,即可将调用标签模板的程序及PLC中的生产信息如:操作机台、操作人员、经过的工序、生产时间日期和工艺参数等以字符串的形式串连起来,存储在以DB1.DBX0.0开始的254个字节中,点击打印按钮PLC通过TCP通信发送给打印机,并将其打印出来。达到根据产品文字号码追溯产品的生产过程信息的目的(见图1)。
参考文献
[1]《西门子PLC工业通信完全精通教程》向晓汉主编 北京化学工业出版社2013.2.
[2]《GX420t / GX430t 用户指南》Zebra Teachno
logies 980612-061 修订版 C.
[3]《ZPL II 语言编程基础》.Zebra Teachnolo'
gies.