第三方调试助手的与S7-1200 PLC的通信

这篇具有很好参考价值的文章主要介绍了第三方调试助手的与S7-1200 PLC的通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、概述

西门子S7-1200 PLC支持多种协议通过以太网通讯方式,如OPC、TCP、S7、MODBUS-TCP等。TCP方式相比其它协议,具有更多的灵活性,更快的数据响应等优点,

需要PLC与电脑还有其他设备进行TCP通讯,使用TCP调试助手与PLC做通讯测试

    S7-1200 PLC的TCP通信方式采用“开放式用户通讯”,通过以太网发送或读取数据。

2、测试环境

2.1 硬件平台

1)       PLC:CPU 1211C DC/DC/DC  固件v4.5设定ip:192.168.2.10 子网掩码255.255.255.0

2)      上位机,ip地址:192.168.2.20子网掩码255.255.255.0西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图1 上位机的IP地址设置

2.2 软件平台

1)  博途 TIA V17

2)  TCP/UDP Socket 调试工具2.3

3)西门子PLC调试助手V1.1

2.3 整体思路

1)       PLC编程:配置PLC —> 添加发送和接收数据块—> 发送数据程序 —> 接收数据程序 —> 编译下载

2)       上位机:创建TCP连接—> 接收或发送数据 。能够利用调试工具发送数据,调试助手读取PLC寄存器,为后续的编程做准备。

3、操作步骤

3.1 CPU配置

1)       打开 TIA Portal,创建项目,添加CPU为1211C(DC/DC/DC)。

2)       双击“设备组态”,切换到“设备视图”,点击CPU,右键选择属性。

3)       在常规栏,选择PROFINET 接口[X1]/以太网地址属性,设置CPU的IP地址,本例设置为 192.168.2.10。如图2所示。注:工控机作为上位机时,工控机的IP段多为192.168.2.X。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图2 PLC 服务器端IP地址设置

4)       在常规栏,选择系统和时间存储器属性,启用系统存储器字节和时钟存储器字节,如图3。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图 3打开系统和时钟存储器

5)设置完全访问权限,并允许远程的GET/PUT 访问

设置完全的访问权限便于后续与第三方通信时候进行有效连接,并打开“允许远程的GET/PUT 访问”用于后续与西门子PLC调试助手 建立连接。如图4所示。西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图4 完全开放访问权限

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图5 勾选“允许远程的GET/PUT 访问

3.2 添加数据块

1)       添加发送数据块。数据块用于存储PLC向上位机发送的数据。点击程序块/添加新块,在打开的对话框中选择数据块,输入名称,类型选择全局DB为保证后面能够与西门子PLC调试助手 进行数据交互 如图6所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图6 建立数据块

 2)打开该数据块_1 ,添加发送数据,名称如sss,选择数据类型Array of Byte,即字节数组,数组长度设置为10。如图7所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图7 数据块内容

 3) 修改数据块属性。选中数据块_1 ,右键属性,在属性栏去掉优化的块访问,以支持绝对寻址模式。这个非常重要,如果想要西门子PLC调试助手读取寄存器的信息,这个需要去掉“优化的块访问”,如图8所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图8 设置数据块属性

4)添加接收数据块。该数据块用于存储工控机向PLC发送的数据即接收数据。数据块名称数据块_1_rrr,数据类型Array of Byte,操作方法同。如图9所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图9 设置接收数据表格

3.3 编写发送数据程序

1)       打开 Main 程序

2)       添加指令通信/开放式用户通信/TSEND_C到程序段1,调用选项的数据块名称采用默认,如图10所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图10 添加指令TSEND_C模块

3) 配置 TSEND_C 的通讯参数。选中 TSEND_C,右键属性,切换到组态页,选择连接参数属性。伙伴项选择未指定连接数据选择新建系统会自动创建一个连接数据,如PLC_1_Send_DB。输入伙伴的IP地址,如192.168.2.20工控机地址由伙伴主动建立连接,PLC的端口可保留默认的2000。连接类型为TCP,连接ID采用默认值。(注:所谓伙伴即与PLC通信的另一方,可以为上位机PC、HMI等),如图11所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图11 TSEND_C 的通讯参数配置

 4) 配置 TSEND_C 的输入输出。TSEND_C在检测到参数 REQ 上升沿时执行发送作业,因此每次发送数据时,都应在REQ上产生一个脉冲,此处为了简便,调用系统时钟 Clock_1Hz(每秒1次),周期性的发送数据。参数DATA为待发送的数据,此处调用数据块找你的话注意DATA采用纯符号寻址时,发送 LEN 应设置为0默认值,而采用绝对寻址时,应设置为实际发送数据的长度。通讯状态参数 DONE\BUSY等按需要连接。如图12所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图 12 TSEND_C_DB 组态

3.4 编写接收数据程序

1)       添加指令通信/开放式用户通信/TRCV_C 到程序段2,调用选项的数据块名称采用默认。

2)       配置 TRCV_C 的通讯参数。选中 TRCV_C,右键属性,切换到组态页,选择连接参数属性。伙伴项选择未指定连接数据选择3.3 步骤自动创建的数据,如PLC_1_Send_DB切记不要选择新建(此例的通讯连接为自动创建,因此发送与接收共用一个连接,必须保持一致才能正常通讯)。如图13所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图13    配置 TRCV_C 的通讯参数

3)       配置 TRCV_C 的输入输出。TRCV_C在检测到参数 EN_R 为1时启动接收。参数DATA为数据接收区,此处调用3.2步骤所创建的数据块。注意DATA采用纯符号寻址时,接收 LEN 应设置为0,而采用绝对寻址时,应设置为实际发送数据的长度。通讯状态参数 DONE\BUSY等按需要连接。具体参数信息请查看帮助文档。如图14所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图 14  TRCV_C 的输入输出组态配置

4)       为了方便判断PLC是否正确接收到工控机所发送的数据,可通过以下两种方法测试。
a、将第3.3 的数据发送区设置为与数据接收区相同的数据块,即数据块_1,使PLC把接收到数据发送回工控机
b、添加 MOVE 指令采用数据移动的方法完成此功能,如图15所示.

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图 15 数据转换

4 第三方软件的通信

1) S7-1200服务器与其他设备或软件进行TCP通信。在PC上使用网络调试助手与S7-1200建立TCP通信。打开调试软件,选中左方的TCP Client,然后点击“创建”按钮,输入在3.3内容中的PLC对应的IP地址和端口号,如图16所示。 西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图16 创建客户端并设置通信端口

2)确认后,软件不会自动连接PLC,点击“连接”按钮即可连接PLC。如图17所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图17客户端创建完成

3)确认连接后,如果PLC服务器发送的数据如图18所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图18  上位机接收PLC的数据

此时说明已经可以进行通信了。如图19所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图19 查看PLC的网络视图情况

 4)可以在调试工具中输入所需要传递的内容,验证接收情况,可以在PLC的监控表格中显示相关信息。如图20、21 所示。 并在发送框中输入要传送的数据内容。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图20 上位机作为客户端接收数据

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图21 接收数据

以上说明S71200与上位机实现通信功能。

注意:调试助手是按照ASCII发送,所以发送qwertyuiop,S7-1200这边接收会显示十六进制,也就是图示中显示的内容。再者要注意发送数据与接收数据的长度的定义。

 5. 西门子PLC调试助手

更加方便快捷地使得西门子S7系列PLC数据交换到工业云平台。

1)这部分调试的内容,在前面的内容中有所涉及,就是在前面的数据设置过程中,已经完成。打开PLC调试助手,输入PLC的地址,就可以进行连接。如图22所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图22  PLC调试助手

2) 为了测试,在TIA17的PLC变量中建立了一些变量来完成测试。如图23所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

图23 建立变量列表

 3) 输入对应 寄存器地址可以读取PLC中的数据。显示的为ASCII码对应的16进制数。通信的状态如图24所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 图24写入数据

4)可以在调试助手读取信息,如图25所示。

西门子1200和第三方tcp通讯,网络,tcp/ip,服务器

 

 图25 读写寄存器数据

提示 

如果报错误: "CLI : function refused by CPU (Unknown error)",主要就是

1. 数据库要是全局变量,

2. 关闭块访问优化功能

3.设置完全访问权限,并允许远程的GET/PUT 访问

参考文献

1. S7-1200_PLC_EASY_PLUS_V4.2

2. LabVIEW通过以太网(TCP)与 S7-1200 PLC通信,LabVIEW通过以太网(TCP)与S7-1200 PLC通信_laipin7的博客-CSDN博客_labview和plc通讯 

3. snap7与西门子PLC连接配置,snap7与西门子PLC连接配置_知者智者的博客-CSDN博客_snap7与plc的连接

4. python snap7读写西门子s7-1200PLC的数据(PLC的I、Q、M、DB、V区)S7-MQTT, python snap7读写西门子s7-1200PLC的数据(PLC的I、Q、M、DB、V区)S7-MQTT_KepOPC的博客-CSDN博客_西门子1200寄存器数据图表

5. CLI: function refused by CPU(Unknown error),CLI: function refused by CPU(Unknown error)_越有能力的人越谦虚的博客-CSDN博客

6. .西门子S7系列PLC如何实现工业互联?(S7中间件)

西门子S7系列PLC如何实现工业互联?(S7中间件)_KepOPC的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-786198.html

到了这里,关于第三方调试助手的与S7-1200 PLC的通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu中使用vscode+cmake引用第三方库进行编译调试

    在自己的项目中引用openCV和Eigen库。 opencv和Eigen库的编译安装参见上一篇文章https://blog.csdn.net/qq_41816368/article/details/130090823?spm=1001.2014.3001.5502#t4 其他的第三方库放在工作空间的thirdparty文件夹,项目编译时一起编译,不提前安装。 首先新建一个文件夹作为工作空间 在创建Thir

    2023年04月25日
    浏览(59)
  • 西门子PLC S7-1200如何实现远程上下载?

    西门子S7-1200是一款高性能的PLC,具有模块化、结构紧凑、功能全面、编程简单的特点,总工业自动化领域中应用广泛,如贴片系统、传送带系统、污水处理厂、配电站、能源管理系统。 在使用过程,无论是为了减少现场调试的成本时间,还是为了给客户提高更快更强的技术

    2024年02月12日
    浏览(51)
  • KaiOS 2.5.X 使用 WebIDE 安装以及调试第三方应用程序

    本教程将展示使用 Waterfox Classic 安装为 KaiOS 2.5.x 设计的应用,同时我们也非常推荐使用它来进行安装和调试应用。 本教程本身不会对手机产生任何损害,但请注意,你必须信任你所安装的应用是安全、无任何威胁的,WebIDE不会验证应用的安全性,Momo Trace 不对因使用 WebIDE 安

    2024年02月03日
    浏览(52)
  • 博途PLC S7-1200/1500 ModbusTcp通信SCL代码篇(轮询)

    博途PLC MODBUS TCP的详细讲解和注意事项,可以参看下面这篇博文,这里不在赘述。这篇作为SCL代码篇主要给出SCL语言下的轮询写法和注意事项。限于本人水平和能力,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。同时感谢大家订阅和关注。 博途PLC1200/1500PLC Mo

    2024年02月14日
    浏览(67)
  • 模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案

    免责声明 使用者本人对于传播和利用本公众号提供的信息所造成的任何直接或间接的后果和损失负全部责任。公众号及作者对于这些后果不承担任何责任。如果造成后果,请自行承担责任。谢谢! 大家好,我是沙漠尽头的狼。 本文首发于Dotnet9,结合前面两篇(如何在没有第

    2024年02月08日
    浏览(40)
  • S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)

    S7-1200PLC作为MODBUSTCP服务器端通信编程应用,详细内容请查看下面文章链接: ModbusTcp通信(S7-1200PLC作为服务器端)-CSDN博客 文章浏览阅读239次。S7-200Smart plc作为ModbusTcp服务器端的通信S7-200SMART PLC ModbusTCP通信(ModbusTcp服务器)_s7-200 modbustcp-CSDN博客文章浏览阅读2.3k次。 https://rxxw-con

    2024年02月01日
    浏览(48)
  • 两个西门子S7-1200PLC之间的TCP以太网通讯

    两个西门子S7-1200PLC之间的TCP以太网通讯 西门子S7_1200两个CPU之间的以太网通讯程序,一个做主站一个做从站,可实现两个CPU之间的数据发送和读取,外加两个西门子KTP1200 12寸的触摸屏, 两个西门子S7-1200 PLC之间的TCP以太网通讯 随着工业自动化的发展,越来越多的设备之间需

    2024年02月02日
    浏览(45)
  • 西门子PLC S7-1200程序实例,西门子1200与安川机器人TCP IP通讯

    西门子PLC S7-1200程序实例,博图版本V15 1,西门子1200与安川机器人TCP IP通讯,包含机器人GSD文件; 2,西门子1200控制6轴伺服电机,四台台脉冲控制台达B2伺服,两台PN通讯控制西门子V90伺服电机; 3,两台西门子1200开放式通讯交互数据联动; 4,与4台位移传感器modbus485轮询读取

    2024年04月10日
    浏览(54)
  • PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速

    注意PTO控制步进电机实验博途软件需要V14版本,不然没有PTO功能块 软件的下载请点击下方百度网盘的链接 链接:https://pan.baidu.com/s/11mQFVnaQxrUy4W9nGIk8Jw 提取码:6lva 详细的操作指导视频已经放到了B站上 Simens S7-1200读取增量式编码器数据 Simens S7-1200根据编码器数据计算电机转速

    2024年02月05日
    浏览(54)
  • 基于西门子PLC s7-1200 实现物料的上料,搅拌,排出的自动化过程。

      摘要:工业中有多种物料(本文为三种)需要上料,搅拌,排料的过程,通过分析流程,利用PLC实现过程的自动化。用博图软件进行编程,最后将自己的成果展示给大家。 一、工艺流程   当按下启动按钮时,物料一从出料口进入搅拌罐,接着当物料一到达最低液面,传感

    2024年02月02日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包