用过西门子plc的朋友应该都听说这个大名鼎鼎的单词——profinet,但是你们有使用过它的功能吗?对它又又多少的认识呢?今天我们就来稍微谈谈一下这个大名鼎鼎的大家伙,希望对你有所帮助。
具有profinet接口的plc是从S7-300开始的,后来新出的新型plc S7-1200系列和1500系列都具有profinet接口,从中也可以看出西门子plc对它的重视。那么profinet到底是什么呢?
PROFINET 是 PROFIBUS International(其前身是 PROFIBUS 用户协会)制定的基于
以太网的自动化标准,定义了多厂商通信、自动化和工程模式。
PROFINET 的目标是:
● 基于工业以太网的开放式自动化以太网标准。
尽管工业以太网和标准以太网组件可以一起使用,但工业以太网设备更加稳定可靠,
因此更适合于工业环境(温度、干扰等)。
● 使用 TCP/IP 和 IT 标准
● 实时以太网自动化
● 无缝地集成现场总线系统
在西门子plc中支持profinet功能的是300,400,1200,1500,这意味着它们都包含有开放式通信功能,共享设备,智能设备,profinet IO设备的功能。
首先我们要明确一点,profinet的功能都是建立在物理网口上的。
开放式通信功能
先讲开放式通信功能,开放式通信功能其实是建立在TCP/IP协议的。我们都知道现在的西门子plc的cpu上都带有网口,这个网口是不是支持profinet官方的说明书中会有说明。如果cpu上的自带的网口是profinet接口,那么它肯定支持开放式通信功能,反过来不成立,S7-200smart支持开放式通信,但它不是profinet接口。
为什么要需要开放式通信功能?有的人可能会想,cpu之间的通信用S7协议的put,get指令就可以很简单的实现了,为什么还要有这个功能呢?我是这么理解的:第一,S7协议的put,get功能是有限制数量的,多了开放式通信功能就又多了一个连接。第二,开放式通信功能因为是基于tcp/ip协议的,它是公开的,这就方便了其它厂家的数据交换。
这么在西门子的plc中编程实现开放式通信功能。我们先以两个1200系列为例做个简单说明。
首先需要的知识点:1.开放式通信功能分客户端和服务器,要实现通讯需要在两边都做编程。
2.实现开放式通信功能首先得建立连接,无论你要发送还是接受,客户端和服务器必须先建立连接。
3.需要知道的几个通讯指令。TSEND_C,TRCV_C,TSEND,TRCV,TCON,TDISCON.
TCON,TDISCON是连接的建立和断开,TSEND,TRCV是数据的发送和接受。
TSEND_C,TRCV_C是带连接的发送和接受,等于连接指令和发送接受指令合并在一起了,合并在一起当然是为了方便使用。
下面开始正式讲解两个1200plc之间通过开放式通信的实现步骤:
方便起见我们使用TSEND_C命令来编程,首先我们需要在设备和网络中将两个plc的网口连接起来,如图
然后我们再对网口设定ip地址,设置完ip地址后再程序中调用TSEND_C指令,如下图
然后在下方的组态页面中设置必要的参数,如下图
在另一个plc中调用TRCV指令,并把参数设置好,如下图
这样两边的编程就都完成了,下载到plc中就可以了。
然后我们继续来说说1200和300的开放式通信怎么实现。基本和上面的步骤一样,只是300没有TSEND_C指令,我们需要用TCON和TSEND来代替。
调用TSEND指令,设置组态参数,如下图,特别注意“连接参数”和“块参数”的区别
调用TSEND指令并设置参数,如下图
在另一个1200plc中调用TRCV指令并设置参数,如下图
基本步骤就是这样。
接下来说说S7-200smart开放式通信功能实现。
本来想这么想的,忽然发现电脑上没安装包,那就明天再说吧。
明天聊聊200smart之间的开放式通信,还有200smart与1200/300之间的开放式通信。
有兴趣的可以关注一下哈哈。
今天就这样了,欢迎各位朋友一起交流交流。
閱讀更多 杭州蘭光智造 的文章