由于最近在练习1500 plc的各种通讯方式,但是缺少硬件的支持,所以就使用了plcsimadvanced这个西门子推出的仿真软件来进行实操练习,并做一点笔记,方便以后需要的时候,进行查看。
plcsimadvanced支持wed,opc ua,s7,ouc,modbus tcp这几种通信,而其中的ouc通信,有四种连接方式,分别是iso,iso-on-tcp,tcp/ip,udp,以上四种连接无论使用哪一种,建立连接的过程和使用的通讯函数都是一样的,下面的演示部分我演示的是iso-on-tcp这种连接方式。
第一步在plcsimadvanced中创建两个实例PLC(操作方式可以百度浏览),选择虚拟网卡选项,连接的方式根据需求选择可以选择Local(本地连接),若与PC以外的设备实现通讯就选择以太网。
![](https://i-blog.csdnimg.cn/blog_migrate/867a868f8d4fc505d86f61553aa37936.png)
第二步在博图软件中创建项目,并添加两个PLC设备,项目需要设置支持仿真,打开属性在保护中,将支持仿真勾选。
![](https://i-blog.csdnimg.cn/blog_migrate/04a5acc0829f6d880125dfbe72d6a7ff.png)
第三步两个添加的设备都需要勾选设备属性----连接机制------允许来自远程对象的PUT/EGT通讯访问。
![](https://i-blog.csdnimg.cn/blog_migrate/7a3a13e090e62b9ef862dc902b9e13c8.png)
第四步添加DB块,做为发送和接收数据的存储位置,并在块的属性中,取消优化访问的勾选
![](https://i-blog.csdnimg.cn/blog_migrate/c1445193026877db42071b1a5549f443.png)
第五步拖拽通讯用的函数指令到主数据块中
![](https://i-blog.csdnimg.cn/blog_migrate/c0043b783aa426eda3ea907f8b4c6816.png)
第六步打开组态程序块
![](https://i-blog.csdnimg.cn/blog_migrate/f5646639fb7013521901e4cac714e83b.png)
注意ID的设置,不能与其他的ID号相同,否则会报故障8c08代码
![](https://i-blog.csdnimg.cn/blog_migrate/d1b5bc64a4f75fd2a94010a549b43a0c.png)
同样的方式添加接收方,块的引脚设置可以查看帮助完成。
第七步发送引脚设置
![](https://i-blog.csdnimg.cn/blog_migrate/8324c7e554b2233c3ad6e07b6e313f9e.png)
REQ是发送上升沿,每次由0到1发送一次信息,我使用了一个10HZ(1S)的特殊寄存器来,建立发送周期。
CONT为TRUN保持通讯,反之中断,使用时置为trun。
connect连接数据,在连接参数中选择。
DATA发送的内容地址,这个是一个指针的格式,就是发送DB块6中,地址由X0.0开始的int数据类型10个。
第八步接收引脚设置
![](https://i-blog.csdnimg.cn/blog_migrate/97a9f3a55e20356875ed16e9a368dcf6.png)
En_r工作使用置为TRUN。
CONT工作使用置为TRUN。
连接数据,在连接参数中选择。
接收的内容。
第九步完成后编译下载,完成引脚的设置,将PLC置为工作模式,就可以实现通讯。
![](https://i-blog.csdnimg.cn/blog_migrate/76b40359cf0ef1519817aa9e7c571eab.png)