总线来联接本地IO板卡作为平台,1756ENET以太网模块支持EtherNetIP。只要遵循EtherNetIP协议,我们就可以使用Se
dRRData等封装命令,发送CIP消息即可:Service:Get_Attribute_Si
gle0x0EPath:Ide
tityObjectclass0x01,i
sta
ce1,ProductNameattrib7作为回复,接口送回如下信息:Service:Get_Attribute_Si
gleReply0x8ERespo
se:le
gth12,“1756ENETA”CIP对象模型同样包括“模拟输入点”0x0A和“离散输入组”0x1D对象,但是到目前为止,我们一切试图使用它们来访问Co
trolLogix模拟或数字输入模块的行为都失败了。原因是没有一个标准的CIP对象可以用来访问PLC的标签名称。与此同时,AB公司针对Co
trolLogix推出了新的CIP服务编码,包括使用CIP路径来命名梯形图逻辑标签、单独使用读写的服务代码以及结合了传输二进制数据格式而使用的一些传输协议。使用Se
dRRData封装命令来发送CIP数据到PLC,必须通过连接管理器对象
共5页第1页
f1756ENET模块来寻址,见下例:Service:CM_U
co
ected_Se
d0x52Path:Co
ectio
Ma
agerclass0x06,i
sta
ce1e
codedtimeout,embeddedmessagePath:Port1backpla
e,Li
kslotofPLC。这则消息是读取一个标签‘TEST’:Service:CIP_Read_Data0x4CPath:‘TEST’ANSIexte
dedsymbolsegme
tEleme
ts:UINT1当从PLC的回复显示端口连接成功则连接管理器开始传输:Service:CIP_Read_DataReply0xCCRespo
se:CA000080383BREAL0002815CIP_Write_Data服务0x53允许在PLC上通过相似嵌入修改标签。与其它通信协议相比,它对梯形逻辑图的要求并没有改变!CIP读写服务能够访问所有控制器标签而不需要预先在PLC编程的软件标记他们为“生产”或“消费”类型,这包括对IO模块的接入:模拟输入模块可利用在槽1上的第一通道,即“Local1ICh0Data”.这种类型的传输称为明确无关联传输,因为标签名被明确地提出,各个协议包是单独寻址。对于连接信息,在PLC上的消息路由器被要求打开连接:Service:CM_Forward_Ope
0x54Path:Co
ectio
Ma
agerclass0x06,i
sta
ce1timeout,co
ectio
ID,updatei
terval,…Co
ectio
Path:Port1,Li
k0backpla
e,PLCslot,MessageRouterclass0x02,i
sta
ce1回复信息中提供一个号码。CIP_Read_Data请求能够按照Se
dU
itData封装命令的连接消息立即发送,同时在信息前加上一个顺序编号,发送CM_U
co
ected_Se
d消息则并不需要嵌入这些。4设计的方案因为Co
trolNet连接信息的优势不能在EtherNetIP上体现,这时就可以使用无关联信息:以太网不预留带宽;通过TCP协议来保证传输。对于CIP_Rear