zoukankan      html  css  js  c++  java
  • 西门子与三菱PLC报文比较

    1.西门子和三菱的几个区别(上位只关心的通讯层面):
    1. 西门子PLC通讯端口固定102,但是可以连接多个PC端(客户端),三菱PLC通讯端口可以自定义,最多好像8个,但是每个端口只能连接一个客户端;
    2. 两者的读写指令类似,但是西门子在端口连接的时候,要做两个初始化指令交互后,才能正常读写处理; 如果中途有错误格式的指令,可能导致端口连接断开;
    3. 三菱PLC主要是以字为单位读写的;西门子主要是以字节为单位读写; 所以三菱相邻两个地址相差16bit,西门子相邻两个地址相差8bit;
    4.三菱PLC的数据块,一般最小处理单位就是字,很少拆成bit处理(或者把整个字当作0,1布尔类型处理,但是这样有点太浪费了),
    而且上位PC端只能用字去读写,无法按位读写,如果真的要用bit处理,一般就用M点;
    西门子这块比较灵活,可以按bit或byte去读写;如果按byte,标识的样子是 B10.B99 ;如果是bit,标识的样子是 B10.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系统里又是从大到小;

  • 相关阅读:
    LockFree的栈实现及与加锁实现的性能对比
    redis源码笔记-redis.conf
    【ASP.NET】应用程序、页面和控件的生命周期
    【ASP.NET】HTTP客户请求的数据格式说明
    【ASP.NET】页面间传值
    【ASP.NET】Page.IsPostBack 属性
    【ASP.NET】互联网HTTP连接等出错代码大全
    【经验分享】抽象类、虚函数、接口、多态 概念与关系的理解
    【架构设计】需求分析
    【经验分享】常用正则表达式收集
  • 原文地址:https://www.cnblogs.com/DreamRecorder/p/9371772.html
Copyright © 2011-2022 走看看