更新时间:2019-06-19
工业自动化设备,电气设备研发,软件开发系统集成系统,计算机零配件,电子产品,电子仪器,电子元件及组件,电子电器,电子产品及配件,机械配件,电池,机电产品,办公设备,通用机械设备销售,电线,电缆西门子西门子6ES7511-1AK01-0AB0
品牌 | 西门子 |
---|
西门子6ES7511-1AK01-0AB0西门子6ES7511-1AK01-0AB0
承诺:1、保证全新*:
2、保证安全准时发货:
3、保证售后服务质量
流程:1、客户确认所需采购产品型号:
2、我方会根据询价单型号查询价格以及交货期,拟一份详细正规报价单
3,客户收到报价单并确认型号无误后订购产品
4、报价单负责人根据客户提供型号以及数量拟份销售合同:
5、客户收到合同查阅同意后盖章回传并按照合同销售额汇款到公司账户
6、我公司财务查到款后,业务员安排发货并通知客户跟踪运单。
网络设置
下面以SIMOTION D435与S7-300 PLC 通过MPI网络通信为例介绍通信函数_xsend与_xreceive的使用。首先打开SCOUT软件插入D435,点击D435使用右键进入硬件配置界面如图4所示:
图4:SIMOTION MPI接口设置
双击X136接口(只有X136接口可以设置为MPI接口),将该接口设置为MPI接口,选择MPI站地址,如图5所示:
图5: MPI接口参数配置
注意MPI站地址与通信方的站地址不能冲突,同样在STEP7中设置S7-300 PLC的站地址,本例中SIMOTION的MPI地址为2,PLC的站地址为4。
4.编程
4.1 SIMOTION侧编程
在D435中的“PROGRAM”中插入编程单元“LAD/FBD UNIT”,如MPI,在“UNIT”中插入程序如“SEND”和“RECEIVE”编写发送和接收程序如图6所示,也可以将通信程序编写在同一个程序中。
图6: SIMOTION 程序的创建
本例中在“SEND”程序中编写发送程序,在“RECEIVE”程序中编写接收程序,发送和接收函数可以在函数库中的位置如图7所示:
图7: 函数块的位置
? 调用_xsend函数
在程序SEND中调用_xsend函数发送数据,与PLC编写方式相似,将发送函数_xsend拖曳到LAD网络中,如图8所示:
图8: _xsend函数块
给所有的参数赋值,变量可以任意定义,如“COMMODE”变量,键入后选择变量类型如图9所示:
图9: 配置参数类型
数据类型自动定义,在变量类型中选择变量存储的类型,如全局变量或区域变量,如图9中变量类型只能在一个“UNIT”中使用,如果需要在其它“UNIT”或HMI中使用,将在“INTERFACE”中创建变量。
_xsend函数参数含义如下:
COMMUNICATIONMODE:
枚举数据类型,元素中包括“ABORT_ConNECTION ”和“HOLD_CONNECTION”,
“ABORT_ConNECTION ”:通信完成之后释放连接资源。
“HOLD_CONNECTION”:通信完成之后占用连接资源。
枚举类型变量的赋值可以使用MOVE指令,如图10所示:
图10: 参数赋值
ADDRESS:
结构体数据类型,结构体元素参考表3:
表3 _xsend函数ADRESS参数结构体数据
结构体元素 | 名称 | 数据类型 | 单元 |
deviceId | 元素 ID | USINT | - |
remoteSubnetIdLength | 通信方subnet ID占用字节的长度 | USINT | - |
remoteStaddrLength | 通信方站地址占用字节的长度 | USINT | - |
nextStaddrLength | 路由器占用字节的长度 | USINT | - |
remoteSubnetId | 通信方subnet ID | ARRAY [0..5] OF USINT | - |
remoteStaddr | 通信方站地址 | ARRAY [0..5] OF USINT | - |
nextStaddr | 路由器地址 | ARRAY [0..5] OF USINT | - |
deviceId:使用的接口,1表示D435 X126接口,2表示D435 X136接口,本例中选择2。
remoteSubnetIdLength:预留参数,MPI通信中无意义,缺省为0,设置为0。
remoteStaddrLength:MPI、PROFIBUS通信设置为1。
nextStaddrLength:预留参数,MPI通信中无意义,,缺省为0,设置为0。
remoteSubnetId:预留参数,MPI通信中无意义,缺省为0。
remoteStaddr:数组类型,在remoteStaddr[0]中赋值通信方的MPI地址,其它元素无意义,本例中S7-300 MPI地址为4,可以使用MOVE(LAD)指令赋值。
nextStaddr:预留参数,MPI通信中无意义,缺省为0。
MESSAGEID:
UDINT数据类型,定义发送报文的标识符,本例中定义为6,在PLC接收块参数REQ_ID可以读出。
NEXTCOMMAND:
枚举数据类型,元素中包括“IMMEDIATELY ”和“WHEN_COMMAND_DONE”,
“IMMEDIATELY”:下一个命令同步执行。
“WHEN_COMMAND_DONE”:命令执行或失败后执行下一个命令,异步执行。
例子程序中使用“WHEN_COMMAND_DONE”。
COMMANDID:
COMMANDID数据类型,可以跟踪命令的状态。
data:
数组数据类型,发送数据缓存区,必须为200个字节。
DATALENGTH:
UDINT数据类型,发送数据的长度,本例中发送为10个字节。
OUT:
DINT数据类型,函数调用返回值,包含通信状态。