勇哥注:
有了PLC SIM Advanced,你就相当于有了一台全功能的1500的西门子plc。
再配上数字孪生的虚拟设备,可以完全在没有实际设备情况下,仿真整台设备的动作。
下面说下怎么样用博图+PLC SIM Advanced完成一个基于tcp通讯的小例子。
实验用的是博图v18,Plc sim Advanced 6.0
(一)添加新设备
选择1500的cpu。
取消保护勾选
设置项目属性
注意:这是是项目名字上右键,而不是在plc的名字上右键!
勾选“块编译时支持仿真”。
这里如果不勾选,下场就是无法下载到plcsim advanced里去!
(二)设备的属性
设备上右键菜单--> 属性
(1)Profinet接口中,设置ip地址。
这个地址要跟虚拟网卡地址在同一个网段。
下图是勇哥虚拟网卡的IP地址,192.168.10.10
(2)连接机制里取消勾选 “仅支持PG/PC和HMI安全通信”。
(3)防护与安全中,选择“完全访问权限”。
(4)连接机制里,勾选“允许来自远程对象的PUT/GET通信访问”
(三)写Main程序
这里用通信中的“开放式用户通信”创建两个节点
TSend_C 和 TRCV_C。
它们是tcp通讯的发送与接收模块。
把REQ 触发端子,挂一个变量M0.2
把EN_R 使能端子,挂 一个变量M2.1
接下来进行组态相关的设定
(1)添加新的数据块
双击“添加新块”。
新建两个数据块变量,Send, Recv。
它们的数据类型是10元素的byte数组。
(四)启动plc仿真
这里勇哥设置的ip address是 192.168.10.10
(五)设置组态参数
点击Send模块的图标,然后在组态属性页设置进行设定:
(1) 伙伴, 选择“未指定”
(2) 伙伴地址,设置为虚拟网卡的IP,这里是192.168.10.10
(3) 连接数据,选择新建,系统会自动创建一个。
(4) 连接ID,1
(5) 伙伴端口,改为2006
接下来设置Recv模块的组态:
(1) 伙伴, 选择“未指定”
(2) 伙伴地址,设置为虚拟网卡的IP,这里是192.168.10.10
(3) 连接数据,选择新建,系统会自动创建一个。
(4) 连接ID,2
(5) 伙伴端口,改为2006
(六)设置发送数据的来源,接收数据的块。
(七)编译
先编译数据块,再编译Main。
(八)下载程序到虚拟机
这里要选择PLCSIM。
忽略此选项,点 连接。
点 装载
(九)测试
先“转至在线”,“运行plc”, 转入监视模式。
这时候编辑器中的元件变绿色。
可以看到Status中,状态7004就是准备好发送的状态。
(1)发送数据
进入数据块的监视模式。
然后你可以双击监视值,修改数据。
把M2.1手动改为1后,你应该可以在网络助手上看到收到的数据。
(2)接收数据
直接在网络助手上,以hex方式发送10个数据即可。
然后你在数据块上就可以看到接收的数据结果。
博图工程下载
通过网盘分享的文件:项目3.7z
链接: https://pan.baidu.com/s/1PZPs1r2NxLYLWjS61p2Itw
提取码: 2wgh
--来自百度网盘超级会员v6的分享

