- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c#基基于于TCPIP、、CIP协协议议的的欧欧姆姆龙龙PLC通通信信
⼀、关于CIP协议
CIP通信是Common Industrial Protocl(CIP)的简称,它是⼀个点到点的⾯向对象协议,能够实现⼯ 器件 (传感器,执⾏器)之间的连接,和⾼等级的控制器之间的连接。⽬前,有3种⽹络
DeviceNet ,ControlNet ,EtherNet/ IP使⽤CIP通信协议作为其上层⽹络协议,由ODVA组织统⼀管理,以确保其⼀致性和精确性。
⼆、EtherNet/IP通信
EtherNet/ IP(Ethernet/ Industrial Protocol) ,是⼀个⼯ 级的通信⽹络,⽤于⼯ 器件间⾼速的信息交换,这些器件包括简单的IO器件 (传感器),还有复杂的控制器 (机器⼈,PLC,焊机,过程控
制器)。EtherNet/ IP使⽤CIP(Common Industrial Protocl),其使⽤EtherNet和 CP/ IP技术传送CIP通信包,CIP作为开放的应⽤层,位于EtherNet和 CP/ IP协议之上。
三、CIP通信报⽂
1.注册会话ID
private byte[] Registercmd = new byte[28]
{
//Header 24byte
0x6F,0x00,//命令 2byte
0x04,0x00,// Header后⾯数据的长度 2byte
0x00,0x00,0x00,0x00,//会话句柄 4byte
0x00,0x00,0x00,0x00,//状态默认0 4byte
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//发送⽅描述默认0 8byte
0x00,0x00,0x00,0x00,//选项默认0 4byte
//CommandSpecificData 指令指定数据 4byte
0x01,0x00,//协议版本 2byte
0x00,0x00,//选项标记 2byte
} ;
2.提取会话ID-注册请求的应答报⽂
private byte[] RefRegistercmd = new byte[28]
{
//Header 24byte
0x6F,0x00,//命令 2byte
0x04,0x00,//CommandSpecificData的长度 2byte
0x6B,0x01,0x01,0x00,//会话句柄 4byte 由PLC⽣成
0x00,0x00,0x00,0x00,//状态默认0 4byte
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//发送⽅描述默认0 8byte
0x00,0x00,0x00,0x00,//选项默认0 4byte
//CommandSpecificData 指令指定数据 4byte
0x01,0x00,//协议版本 2byte
0x00,0x00,//选项标记 2byte
} ;
public byte[] SessionHandle=new byte[4]{0x6B,0x01,0x01,0x00};//从应答报⽂提取的会话ID
后续读写PLC的报⽂中,需要包含PLC返回的会话ID
3.读数据服务请求报⽂
报⽂由三部分组成 Header 24个字节 、CommandSpecificData 16个字节、以及CIP消息 (由读取的标签⽣成)
实例,读取单个标签名为 AG1的报⽂总长度为64个字节
private byte[] Header = new byte[24]
{
0x6F,0x00,//命令 2byte
0x28,0x00,//长度 2byte (总长度-Header的长度)=40
0x6B,0x01,0x01,0x00,//会话句柄 4byte
0x00,0x00,0x00,0x00,//状态默认0 4byte
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//发送⽅描述默认0 8byte
0x00,0x00,0x00,0x00,//选项默认0 4byte
} ;
private byte[] CommandSpecificData = new byte[16]
{
0x00,0x00,0x0
您可能关注的文档
- 中考化学基础专题突破专题三工艺流程题讲义.doc
- 齿轮减速箱优化问题求解方法及详细步骤.pdf
- 单片机-多种波形发生器设计.doc
- 数据结构试卷及答案.doc
- 一种可快速拼装的组合式训练平台[发明专利].pdf
- 2020年新疆高考物理试卷(新课标Ⅱ).docx
- 2020-2021全国中考语文诗歌鉴赏的综合中考真题汇总及详细答案.docx
- TCPIP协议详解图文文库ppt精品文档.ppt
- 高考英语作文-祝贺信(专题复习).docx
- 如何有效设计小学语文作业.docx
- 福建省邵武市四中学片区达标名校2024届中考化学最后一模试卷含解析.doc
- 山东省临沂市沂南县重点达标名校2024届中考适应性考试化学试题含解析.doc
- 2024届浙江省嘉兴地区达标名校中考猜题化学试卷含解析.doc
- 2024届山东省菏泽市单县市级名校中考化学最后一模试卷含解析.doc
- 上海市建平西校2024届中考适应性考试化学试题含解析.doc
- 江苏省南京市六校联考2024年中考联考化学试卷含解析.doc
- 江苏省扬州市江都区城区重点名校2024届中考考前最后一卷化学试卷含解析.doc
- 郑州二中学2024届中考化学五模试卷含解析.doc
- 2024届湖南省张家界市永定区重点中学中考化学最后冲刺模拟试卷含解析.doc
- 河北省石家庄市43中学2024年中考化学模拟试题含解析.doc
文档评论(0)