[电工&电子] 博图软件+S7-PLCSIM Advanced v3.0/4.0 仿真socket通讯

[复制链接]
查看160 | 回复0 | 2024-7-28 11:06:40 | 显示全部楼层 |阅读模式
>

一、安装软件


1、S7-PLCSIM Advanced V3.0或V4.0,去某度上搜一搜,估计都能下载到,根据提示下载与安装。我在百度网盘上有,百度经常抽风,有可能无法下载。链接:https://pan.baidu.com/s/1e24TqhUPKPR5HbYR0U5O2A

提取码:1111


2、下载一个网络调试助手NetAssist,这个文件与S7-PLCSIM Advanced的破解文件我制作了一个压缩包,一并放到百度云上。

链接:https://pan.baidu.com/s/1gMFLqRKdLc3iIeRVAj171A

提取码:1111


3、安装博图V14以上,我用的是TIA Portal V15.1

安装博图或S7-PLCSIM Advanced时如果提示重启电脑,打开注册表编辑器regedit,找到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager下的PendingFileRenameOperatins,删除之就可以正常安装了。如下图所示。






二、打开博图软件,新建一个程序PLC15_socket,添加一个1500的PLC,因为是虚拟仿真通讯软件只支持1500的PLC,所以只能添加1500的,型号无所谓,我因为学校实验室的PLC是1511C,所以添加的是这个型号。


三、启动S7-PLCSIM Advanced3.0

1、选择PLCSIM虚拟网卡,以便支持TCP/IP协议

     2、 选择本机网卡,不选LOCAL.

     3、填写希望的PLC名称,以及希望的IP地址(跟网卡要在一个网段),这个IP地址在PLC下载程序的时候能改变,就相当于一台真实的PLC,通过软件可以设置IP地址。

      4 、点击"Start"创建实例

这个软件打开并设置好就行了,最小化可以,以后也不用操作它。


四、编写博图程序

    1、打开main程序,添加通讯程序

        

(1)选择开放式用户通讯->其它,用到三个程序,一个是TON建立链接,一个是TSEND,发送数据;一个是TRCV接受数据。拖拽TCON到主程序上,自动添加了一个背景数据块,点确定。

(2)组态通讯参数

新建链接数据,这时上面的TCON程序块中的CONNECT端口自动填上了新建的DB块与ID号。


未指定设备要主动链接,相当于网络调试助手是客户端,PLC是服务器端,先启动服务器,也就是PLC,再链接网络调试助手。

(3)设置远程的IP地址:现在就可以设置远程通讯对象的IP地址了,这个要与虚拟网卡的IP地址一致。

双击Siemens PLSSIM Virtual这个网卡,查看详细信息,会发现它自动配置了一个地址,点击属性,双击IVP4,手动改变IP地址为192.168.0.20,通过确定关闭窗口。




(4)本地的PLCIP地址可以通过PLC的属性改变。

(5)右键PLC,点击属性,打开系统与时钟


(6) 打开防护与安全,允许来自远程的……

(7)右键项目文件名PLC15_socke,属性---保护,块编译支持仿真


(8)添加TSEND发送程序块与TRCV接受程序块。三个程序块的ID都是一样的1,TCON程序块的REQ端填写M1.0,第一个扫描周期,建立链接;TSEND程序块的REQ端填写M3.0手动发送数据;TRCV程序块的EN_R端填写1,始终接受数据。

(9)双击添加新块,建立一个通讯的DB数据块。

(10)双击新建的数据块,新建send与recv两个字节型数组,每一个8个字节。右键数据块-属性,去掉优化,点击编译,就可以看到数据的偏移地址了。

(11)回到主程序,填写TSEND与TRCV的DATA数据端为刚刚建立的send与recv数组。

填写好后的效果为


五、编译下载

    选择西门子的虚拟网卡,搜索PLC、下载。

启动PLC


六、启动网络调试助手

打开网络调试助手,选择TCP Client,选择PLC的IP地址与端口号192.168.0.10,2000,点击链接,建立链接成功有提示信息,如下所示。


七、收发数据


1、打开刚才建立是数据DB块,打开监控,以ASCII码发送12345678,PLC的接受数据显示16进制的31--38,这是1--8的ASCII码。


2、修改数据块send的数据为11 22--88,(你可以任意改数据),右键击TSEND的REQ端,修改为1,然后再改为0,给一个上升沿来发送数据。

网络调试助手接受端设置为HEX16进制接受,可以发现接受的数据与PLC发送的数据相同,通讯成功。如果设为ASCII接受,则会出现乱码,因为发送的数据不是有效的ASCII码。至此通讯成功。为什么叫socket通讯呢?因为TCP/IP通讯就是叫socket通讯,有人也叫套接字或插座。PLC与其它设备的TCP/IP通讯,比如其它的PLC或机器人等设置也一样。


好久没有更新,抱歉。

欢迎关注本人公众号,有问题联系本人微信号:13569669430



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则