西门子plc与oracle报文,西门子PLC以太网 通讯协议 解析

article/2025/10/14 5:41:49

本帖最后由 qingyun 于 2016-12-2 10:36 编辑

1.西门子和三菱的几个区别(上位只关心的通讯层面):

1. 西门子PLC通讯端口固定102,但是可以连接多个PC端(客户端),三菱PLC通讯端口可以自定义,最多好像8个,但是每个端口只能连接一个客户端;

2. 两者的读写指令类似,但是西门子在端口连接的时候,要做两个初始化指令交互后,才能正常读写处理; 如果中途有错误格式的指令,可能导致端口连接断开;

3. 三菱PLC主要是以字为单位读写的;西门子主要是以字节为单位读写; 所以三菱相邻两个地址相差16bit,西门子相邻两个地址相差8bit;

4.三菱PLC的数据块,一般最小处理单位就是字,很少拆成bit处理(或者把整个字当作0,1布尔类型处理,但是这样有点太浪费了),

而且上位PC端只能用字去读写,无法按位读写,如果真的要用bit处理,一般就用M点;

西门子这块比较灵活,可以按bit或byte去读写;如果按byte,标识的样子是

266faa3e2451dd0bb0047cc3ca69ae30.gifB10.B99  ;如果是bit,标识的样子是

266faa3e2451dd0bb0047cc3ca69ae30.gifB10.X99.0~DB10.X99.7

5.三菱PLC的数据块是固定的,比如D0~D6000;  西门子的数据块是通过西门子的编程工具初始化的,也就是说,你可以把一片地址定义成DB10,也可以定义成DB50;

通俗的说:三菱PLC的数据库偏硬; 西门子的偏软,它的地址是映射的虚拟地址;

6.  三菱的数据位是从小到大的,比如某个双字,低位在前,高位在后;这是针对数字类型,但是如果是ascii码,因为一个字有两个字节,这时候却又是反的;

所以在三菱里面对数字和字符类型,要分两种顺序处理;

西门子是从大到小的;这两种方法有什么区别呢; 简单来说:从小到大主要是计算机思考的方式; 从大到小是人的思考方式;

比如655539,它等于65536+3,转换成16进制是0x00010003 需要两个字  , 如果在三菱里存储的顺序就是先低位3,再高位1,也就是 03 00 01 00;

在西门子里存储的顺序从高到低,也就是00 01 00 03;

就像oracle在的数据在windows系统里的数据存储顺序是从小到大,在liunx系统里又是从大到小;

2.报文的基本格式:

2.1  第1和第2个字节是:固定报文头03 00,这里我们就用到三种报文: a.初始化 b. 读 c.写,都是这种格式;

2.2  第3和第4个字节是:整个报文的长度;

其它部分就是各种报文的个性化处理了;

下面分析大量报文的案例进行规律分析,为了便于对照,每种都用1200 和300 两种对照demo显示:

3.初始化报文

初始化报文分两个交互;

3.1 交互一

西门子1200:

PC发出报文 ( [A18]=0x01 =CPUSlot)

03 00  00 16 11 E0 00 00         00 01  00 C1 02 01 00 C2

02 01 01(cpuslot) C0 01 09

PLC回复报文( B[10]=0x06 可能 是西门子的小型号  B[22]=0x01=CPUSlot)

03 00 00 16 11 D0 00 01        00 06 00 C0 01 09 C1 02

01 00 C2 02 01 01 (cpuslot)

西门子300:

PC发出报文 ( A[18]=0x02 =CPUSlot)

03 00  00 16 11 E0 00 00         00 01  00 C1 02 01 00 C2

02 01 02(cpuslot) C0 01 09

PLC回复报文 (B[10]=0x04 可能 是西门子的小型号  B[22]=0x0=CPUSlot)

03 00 00 16 11 D0 00 01        00 04 00 C0 01 09 C1 02

01 00 C2 02 01 02

opc 对 1200 和 300 不用配置的不同点,就一个地方:前者 CPUSlot = 1 ,后者CPUSlot = 2;

所以可以摸索规律是:

a.pc发起第一个初始化报文的时候,第18个字节标识了CPUSlot ;

b.plc回复报文和读取报文长度一样都是22个字节长度;

c.plc回复报文的最后一个字节也是CPUSlot ,这个可以用来校验;

d. plc回复的第10个字节一个是06,一个是04,这个好像是小型号的区别;

细节摸索下来:1200该字节是06,314是04,315是03;咱写程序的时候,就不要考虑这个来校验了;

3.2交互二

PC发出报文

03 00 00 19 02 F0 80 32    01 00 00 FF FF 00 08 00

00 F0 00 00 01 00 01 07     80

PLC回复报文

03 00 00 1B 02 F0 80 32     03 00 00 FF FF 00 08 00

00 00 00 F0 00 00 01 00     01 00 F0

第二个初始化报文交互,通过1200 和314,315的对比,发现居然完全没有任何区别;

所以我们可以把这个交互完全固话;

到此,整个初始化处理就算结束了,正常在设计架构的时候,可以这么实现:

在ClentSocket的onConnect(即正常连接上)的瞬间,pc给plc发起第一个初始请求,得到回复后(为了简单,就仅仅判断长度为22即可);

立刻发起第二个固定的初始话请求,得到长度为24的报文后,就通过一个布尔变量通知整个系统可以正常读写;


http://chatgpt.dhexx.cn/article/MQ6eLrRB.shtml

相关文章

三菱FX系列PLC的modbusTCP以太网通讯

工业通讯桥接器主要为工业设备联网项目提供硬件支持,帮助上层终端通过以太网的方式采集底层工业设备(主要为PLC,但不局限于PLC的设备)的数据,进而对这些数据进行统计和分析。 该桥接器为三菱FX系列PLC(包括…

S7300转以太网模块作为Modbus主站 实现PLC与其它Modbus 设备的通讯

远创智控MPI-ETH-YC01Puls转以太网模块支持 Modbus 功能,可作为 Modbus 主站或者 Modbus 从站,实现 PLC 与其他 Modbus 设备的通讯。 一、 Modbus 主站功能介绍 1.1 功能和应用 远创智控MPI-ETH-YC01Puls 的扩展母口作为 Modbus 主站运行&#xff0…

西门子博途v14 SP1 S7-1200之间的以太网双边通讯(两个S7-1200 在一个项目中)

工业以太网与现场总线是目前工业现场网络的两大派系,各有千秋。 随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。 西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时…

欧姆龙PLC以太网modbusTCP通讯

摘要 工业通讯桥接器NET30-CS,可以用于欧姆龙CP和CJ系列PLC的以太网通讯,以太网同时支持FINSTCP和ModbusTCP两种通讯协议。桥接器主要为工业设备联网项目提供硬件支持,帮助上层终端通过以太网的方式采集底层工业设备的数据,进而对这些数据进行…

欧姆龙CP系列PLC转以太网连接CHNet-CP实现以太网通信配置方法

产品简介 CHNet-CP是兴达易控研制的一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于欧姆龙CP1L/CP1E/CP1H系列PLC的以太网数据采集,非常方便构建生产管理系统…

关于PC端与PLC端以太网通信

一、TCPIP通信 以太网通信基本上最先想到的是TCPIP 就是在PC端的VS上布置服务器端,我用的是VS2015,最长用的是WinSock2.h 大致的步骤就是: a.初始化版本号 b.建立套接字 c.定义并绑定地址 d.进入监听状态 e.接收连接请求 f.交换数据 有一…

施耐德PLC与西门子PLC以太网通讯

摘要 施耐德PLC(如:Quantum系列)需要和西门子S7300、S7200等PLC进行以太网数据通讯。。本文通过通讯桥接器NET30,实现西门子PLC与施耐德PLC进行modbusTCP以太网通讯连接。 网络拓扑图: 方案实施介绍 一、西门子PLC参数设置 1、西门子S7300配置…

西门子PLC1500系列开放式以太网通讯方式分享

西门子产品众多,应用十分广泛,但是面对种类繁多的说明书,大家可能没有时间深入阅读。天拓四方作为西门子核心合作伙伴,在平时的项目实施中总结出了大量的产品应用经验。如果您有任何问题,欢迎联系我们,在解…

欧姆龙plc之间的以太网通讯

捷米特JM-ETH-CP转以太网模块控,用于欧姆龙 CP1L/ CP1E/ CP1H 系列 PLC 的以太网数据采集,非常方便构建生产管理系统。 支持 FINS/UDP、FINS/TCP 以太网协议通信,支持上位机软件(组态王、MCGS、力控、KepWare OPC 服务器等&#…

PLC不用编程,以太网方式与多台智能仪表、变频器等串口设备通讯(基于智能网关)

案例是通过一个IGT-SER智能网关,实现远程IO模块、智能仪表,变频器与PLC通讯。不同品牌的PLC之间通讯 网关与变频器之间采用ModbusRTU串口通讯,网关与变远程IO模块也是之间采用ModbusRTU串口通讯,都接成RS485网络后分别接入网关的串…

西门子PLC能否通过以太网数据模块实现无线通讯?

在实际系统中,同一个车间里分布多台PLC,通常距离在几十米到上百米不等。在有通讯需求的时候,如果布线的话,工程量较大且不美观,这种情况下比较适合采用无线通信方式。西门子S7-200 SMART系列PLC随着不断地升级功能也越…

西门子PLC串口协议与以太网通信协议对比

西门子plc品牌众多,通信协议的类型就更多了,具体可分为串口协议和以太网通信协议两大类。 串口协议主要有:MODBUS RTU 通信协议;PROFIBUS 通信协议;USS通信协议;PPI通信协议;MPI通信协议&#…

一个功能块实现PLC与安川机器人以太网通讯

PLC调用一个功能块实现与安川机器人通讯。 用最简单的通讯方式---标准以太网通讯来控制安川机器人,实现最全面的功能。开发背景见 屠龙技应用之--安川机器人。 安川机器人无需增加各类Profibus,ethernet/ip,CC-Link等专用网卡,无…

LabVIEW通过以太网(TCP)与S7-1200 PLC通信

LabVIEW通过以太网(TCP)与S7-1200 PLC通信 laiping 20170901 摘要:本文介绍LabView采用以太网(TCP)方式与西门子S7-1200PLC通讯 关键字:LabView、S7-1200、TCP、PLC、通信 1、概述 西门子S7-1200 PLC支…

不用编程,快速实现西门子PLC与罗克韦尔(AB)PLC之间以太网通讯

智能网关IGT-DSER支持多点对多点的PLC之间通讯,支持以太网,串口设备混合数据交换;无需编程开发,只须配置数据的起始地址和数量即可,支持热插拔,断电重启后自恢复运行,支持网络跨网段&#xff0c…

西门子S7-300型PLC与西门子S7200smart型PLC的以太网通讯例程

西门子S7-300型PLC与西门子S7200smart型PLC的以太网通讯例程 为程序 300PLC的IP地址:192.168.0.1 200PLC的IP地址:192.168.0.4 S7-300 与smart200以太网通讯 通信简介 S7 通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议&#xff0…

西门子PLC 以太网通讯

云锋 个人主页给TA发消息加TA为好友发表于:2011-03-04 14:44:55楼主 实际工程中用过的PLC 以太网通信案例,需要把PLC型号、与PLC通信的设备、通信的各种参数及情况、通信实现的功能等说明清楚,贴出程序并加以说明。 PLC及与PLC通信的设备类…

三菱PLC内置以太网通讯

三菱PLC在与外界进行数据交换时可以使用内置以太网与PC建立连接。 实际使用三菱Q系列PLC,在连接之前测试网络是否连通,我采用的TCP/UDP测试工具,将PC端设置与PLC内网在同一网段,然后在编程软件中配置PLC参数。 如图所示&#xff…

不用编程实现PLC之间通讯-西门子与三菱以太网实时通讯

PLC通讯智能网关IGT-DSER支持各种PLC之间多对多通讯;PLC无需编程,只需配置寄存器地址,还带有字节顺序调整功能,方便快速实施;因为是多线程的交互模式,所以可以保证高实时性;支持串口、网口通讯&…

PLC 以太网通讯

 云锋 个人主页给TA发消息加TA为好友发表于:2011-03-04 14:44:55楼主 实际工程中用过的PLC 以太网通信案例,需要把PLC型号、与PLC通信的设备、通信的各种参数及情况、通信实现的功能等说明清楚,贴出程序并加以说明。 PLC及与P…