分享

从零开始学PLC之MPI通信

 工控自动化交流 2018-07-20

调用系统功能SFC

用系统功能SFC65~69,可以在无组态情况下实现PLC之间的MPI的通讯,这种通讯方式适合于S7-300、S7-400和S7-200之间的通讯。无组态通讯又可分为两种方式:双向通讯方式和单向通讯方式。无组态通讯方式不能和全局数据通讯方式混合使用。

1.双向通讯方式

双向通讯方式要求通讯双方都需要调用通讯块,一方调用发送块发送数据,另一方就要调用接收块来接收数据。适用S7-300/400之间通讯,发送块是SFC65(X_SEND),接收块是SFC66(X_RCV)。下面举例说明如何实现无组态双向通讯。

例:设2个MPI站分别为MPI_Station_1(MPI地址为设为2)和MPI_Station_2(MPI地址设为4),要求MPI_Station_1站发送一个数据包到MPI_Station_2站。

生成MPI硬件工作站

打开STEP 7,创建一个S7项目,并命名为“双向通讯”。在此项目下插入两个S7-300的PLC站,分别重命名为MPI_Station_1和MPI_Station_2。MPI_Station_1包含一个CPU315-2DP;MPI_Station_2包含一个CPU313C-2DP。

设置MPI地址

完成2个PLC站的硬件组态,配置MPI地址和通信速率,在本例中CPU315-2DP和CPU313C-2DP的MPI地址分别设置为2号和4号,通信速率为187.5kbit/s。完成后点击按钮,保存并编译硬件组态。最后将硬件组态数据下载到CPU。

编写发送站的通讯程序

在MPI_Station_1站的循环中断组织块OB35中调用SFC65,将I0.0~I1.7发送到MPI_Station_2站。MPI_Station_1站OB35中的通讯程序如图所示。

从零开始学PLC之MPI通信

编写接收站的通讯程序

在MPI_Station_2站的主循环组织块OB1中调用SFC66,接收MPI_Station_1站发送的数据,并保存在MB10和MB11中。MPI_Station_2站OB1中的通讯程序如图所示。

从零开始学PLC之MPI通信

2. 单向通讯

单向通讯只在一方编写通讯程序,也就是客户机与服务器的访问模式。编写程序一方的CPU作为客户机,无需编写程序一方的CPU作为服务器,客户机调用SFC通讯块对服务器进行访问。SFC67(X_GET)用来读取服务器指定数据区中的数据并存放到本地的数据区中,SFC68(X_PUT)用来将本地数据区中的数据写到服务器中指定的数据区。

建立两个S7-300站:MPI_Station_1(CPU315-2DP,MPI地址设置为2)和MPI_Station_2(CPU313C-2DP,MPI地址设置为3)。CPU315-2DP作为客户机,CPU313C-2DP作为服务器。

生成MPI硬件工作站

打开STEP 7编程软件,创建一个S7项目,并命名为“单向通讯”。在此项目下插入两个S7-300的PLC站,分别重命名为MPI_Station_1和MPI_Station_2。

设置MPI地址

在本例中将CPU315-2DP和CPU313C-2DP的MPI地址分别设置为2号和3号,通信速率为187.5kbit/s。完成后点击按钮,保存并编译硬件组态。最后将硬件组态数据下载到CPU。

编写客户机的通讯程序

从零开始学PLC之MPI通信

你学会了多少呢?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多