当前位置:领航仪器 > 应用领域 > 西门子PLC以太网 通信契约 解析

西门子PLC以太网 通信契约 解析

文章作者:应用领域 上传时间:2020-03-18

  昨年8月份,偶然中察觉用收集抓包用具能够一点不漏的抓取通信包,简便探寻一下,也把法则探寻的七七八八了,不停都思早点弄出来,西门子plc以太网通讯判断好坏替代OPC, 然而贻误症太厉害,不停拖了半年,都没有进一步去完竣;这两天过年时期,可贵心坎静下来,不去商酌老项目维持,也短促把手头上新项目先放下,脑子能够放空,把这个贻误了10几年的题目先惩罚掉;这么众年来,做项目不停争论框架的打算; 每次新项目下来,都有些新的脾气化的东西, 这时城市就会察觉之前的框架里又有些不满意的地方;这光阴就会纠结; 毕竟是沿用老框架,速捷做项目;仍是先把老框架升级好,再做项目;假设不鼎新,项目就压的你就没机遇升级;小米的MIUI根本每周升级一次;咱们这点升级实在算不了什么;这么大岁数了,西门子plc以太网通讯判断好坏灵活活也没几年了,正在避免不了的被落选之前, 仍是咬牙升级框架升级好;不要被甩的太远;思思白居易的琵芭行, 印象最深的几句□□□:门前偏僻鞍马稀,老迈嫁作市井妇,市井厚利轻分手 ;不停靠拼体力活命,岁月最终会让你经验到门可罗雀的苦处;再看看最冯小刚主演的老炮儿; 也许未始具有,就被时期的大水给重没了;目前互谅网时期,苟延残喘的混着吧。1. 西门子PLC通信端口固定102,西门子plc以太网通讯判断好坏然而能够衔接众个PC端(客户端),三菱PLC通信端口能够自界说,最众雷同8个,然而每个端口只可衔接一个客户端;2. 两者的读写指令犹如,然而西门子正在端口衔接的光阴,要做两个初始化指令交互后,才干平常读写惩罚; 假设半途有纰谬花式的指令,能够导致端口衔接断开;3. 三菱PLC闭键是以字为单元读写的;西门子闭键是以字节为单元读写; 于是三菱相邻两个地点相差16bit,西门子plc以太网通讯判断好坏西门子相邻两个地点相差8bit;4.三菱PLC的数据块,通常最小惩罚单元便是字,很少拆成bit惩罚(或者把全部字算作0,1布尔类型惩罚,然而如许有点太铺张了),并且上位PC端只可用字去读写,无法按位读写,假设真的要用bit惩罚,通常就用M点;西门子这块对照伶俐,能够按bit或byte去读写;假设按byte,标识的样式是:DB10.B99;假设是bit,标识的样式是:DB10.X99.0~DB10.X99.75.三菱PLC的数据块是固定的,例如D0~D6000;西门子的数据块是通过西门子的编程用具初始化的,也便是说,你能够把一片地点界说成DB10,也能够界说成DB50;浅显的说□□□:三菱PLC的数据库偏硬; 西门子的偏软,它的地点是映照的虚拟地点;6.三菱的数据位是从小到大的,例如某个双字,低位正在前,高位正在后;这是针对数字类型,然而假设是ascii码,由于一个字有两个字节,这光阴却又是反的;西门子是从大到小的;这两种手腕有什么区别呢; 简便来说□□:从小到大闭键是盘算机思虑的格式; 从大到小是人的思虑格式;例如655539,它等于65536+3,转换成16进制是0x00010003 需求两个字, 假设正在三菱里存储的次序便是先低位3,再高位1,也便是 03 00 01 00;就像oracle正在的数据正在windows体例里的数据存储次序是从小到大,正在liunx体例里又是从大到小;2.1第1和第2个字节是□□:固定报文头03 00,这里咱们就用到三种报文□□□: a.初始化 b. 读 c.写,都是这种花式;下面理会豪爽报文的案例实行法则理会,为了便于比较,每种都用1200 和300 两种比较demo显示□□□:03 0000 16 11 E0 00 00 00 0100 C1 02 01 00 C2PLC答复报文( B[10]=0x06 能够 是西门子的小型号B[22]=0x01=CPUSlot)03 00 00 16 11 D0 00 01 00 06 00 C0 01 09 C1 0203 0000 16 11 E0 00 00 00 0100 C1 02 01 00 C2PLC答复报文(B[10]=0x04 能够 是西门子的小型号B[22]=0x0=CPUSlot)03 00 00 16 11 D0 00 01 000400 C0 01 09 C1 02opc 对 1200 和 300 不必装备的区别点,就一个地方□□□:前者CPUSlot = 1 ,后者CPUSlot = 2;a.pc创议第一个初始化报文的光阴,第18个字节标识了CPUSlot ;c.plc答复报文的结果一个字节也是CPUSlot ,这个能够用来校验;d. plc答复的第10个字节一个是06,一个是04,这个雷同是小型号的区别;细节探寻下来:1200该字节是06,314是04,315是03;咱写次序的光阴,就不要商酌这个来校验了;03 00 00 19 02 F0 80 32 01 00 00 FF FF 00 08 0003 00 00 1B 02 F0 80 32 03 00 00 FF FF 00 08 00第二个初始化报文交互,通过1200 和314,315的对照,察觉果然统统没有任何区别;正在ClentSocket的onConnect(即平常衔接上)的刹那,pc给plc创议第一个初始仰求,获得答复后(为了简便,就仅仅判别长度为22即可);即刻创议第二个固定的初始线的报文后,就通过一个布尔变量告诉全部体例能够平常读写;

  荐□□:发原创得奖金,“原创夸奖谋划”来了□□□!春回大地 万物苏醒,有奖征文邀你分享□□□!

本文由领航仪器发布于应用领域,转载请注明出处:西门子PLC以太网 通信契约 解析

关键词: