首页 理论教育 SIMOTION发送与接收函数的编写与应用

SIMOTION发送与接收函数的编写与应用

时间:2023-07-02 理论教育 版权反馈
【摘要】:图13-13 SIMOTION程序的创建本例中在SEND程序中编写发送程序,在RECEIVE程序中编写接收程序,发送和接收函数可以在Command library中的“Communication→Data transfer”目录下找到。5)RD:接收区,本例中接收SIMOTION发送的10个字节,并将接收的数据存储于DB2中DBB0以后的10个字节中。

SIMOTION发送与接收函数的编写与应用

1.SIMOTION侧编程

在D435中的PROGRAM中插入编程单元LAD/FBD UNIT(如MPI),在UNIT中插入程序(如SEND和RECEIVE)编写发送和接收程序如图13-13所示,也可以将通信程序编写在同一个程序中。

978-7-111-43580-8-Chapter13-15.jpg

图13-13 SIMOTION程序的创建

本例中在SEND程序中编写发送程序,在RECEIVE程序中编写接收程序,发送和接收函数可以在Command library中的“Communication→Data transfer”目录下找到。

在程序SEND中调用_xsend函数发送数据,与PLC编写方式相似,将发送函数_xsend拖拽到LAD网络中,如图13-14所示。

978-7-111-43580-8-Chapter13-16.jpg

图13-14 _xsend函数块

communicationmode为枚举数据类型,元素中包括“ABORT_CONNECTION”和“HOLD_CONNECTION”:

●“ABORT_CONNECTION”:通信完成之后释放连接资源。

●“HOLD_CONNECTION”:通信完成之后占用连接资源。

枚举类型变量赋值可以使用MOVE指令,如图13-15所示。

978-7-111-43580-8-Chapter13-17.jpg

图13-15 参数赋值

在程序receive中调用_xreceive函数接收数据,与PLC编写方式相似,将接收函数_xreceive拖拽到LAD网络中,如图13-16所示。

978-7-111-43580-8-Chapter13-18.jpg

图13-16 _xreceive函数块

函数_xreceive的输入参数MESSAGEID、COMMANDID和NEXTCOMMAND与_xsend函数输入参数意义相同,发送与接收函数的参数MESSAGEID必须相同,本例中_xreceive输入参数定义的数据包标识符为8,与PLC发送块参数REQ_ID定义的标识符必须相同。

通信程序编写和编译完成后,将程序放置到D435的执行系统中调用,本例中将通信程序放置于BackgroundTask中运行(循环运行)。

2.PLC侧编程

PLC侧调用SFC65用于数据发送,发送程序如图13-17所示。

978-7-111-43580-8-Chapter13-19.jpg(www.xing528.com)

图13-17 PLC中调用发送程序

SFC65的参数解释如下:

1)REQ:发送请求,为1时发送。

2)CONT:相当于SIMOTION发送函数_xsend参数communicationmode,为0时通信完成之后释放连接资源,为1时通信完成之后占用连接资源。

3)DEST_ID:通信方的MPI地址,本例中SIMOTION的MPI地址为2。

4)REQ_ID:相当于SIMOTION发送函数_xsend参数MESSAGEID,定义发送报文的标识符,本例中与函数_xreceive中参数MESSAGEID定义必须相同。

5)SD:发送区,以指针的格式,本例中将DB1中DBB0以后10个字节作为发送区,最大为76个字节。

6)RET_VAL:发送的状态字。

7)BUSY:为1时,端口占用。

PLC侧调用发送块,在SIMOTION中需要调用函数_xreceive接收数据。

PLC侧调用SFC66用于接收数据,接收程序如图13-18所示。

978-7-111-43580-8-Chapter13-20.jpg

图13-18 PLC中调用接收程序

SFC66的参数解释如下:

1)EN_DT:为1使能接收功能。

2)RET_VAL:接收状态字。

3)REQ_ID:接收数据包的标识符,本例中接收SIMOTION_xsend函数MESSAGEID参数定义的报文的标识符6。在SIMOTION中,接收、发送函数的MESSAGEID参数为输入参数,发送和接收的报文标识符必须提前定义,在PLC中发送块REQ_ID参数为输入参数,接收块REQ_ID参数为输出参数,识别接收数据包的标识符。

4)NDA:接收到新的数据包时产生脉冲信号

5)RD:接收区,本例中接收SIMOTION发送的10个字节,并将接收的数据存储于DB2中DBB0以后的10个字节中。

将PLC中的通信程序编译下传到PLC中,通信建立。可以通过建立变量表和监控进行数据的监控测试。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈