不会PLC,怎么学上位机?
上位机Guide 2025-05-08

PLC品牌系列

首先我们要了解一下PLC的品牌系列。

目前我们常用的PLC品牌和汽车品牌一样,也分成多个系列,主要有日系、德系、美系和国产。

日系PLC代表是三菱、欧姆龙、基恩士、松下。

德系PLC代表是西门子和倍福。

美系PLC代表是罗克韦尔AB和GE。

国产PLC代表是汇川、台达、信捷。

PLC工作原理

其次,我们要了解一下PLC的工作原理。

PLC是一种可编程逻辑控制器,基于“循环扫描”方式运行,扫描周期通常在几毫秒到几十毫秒,取决于程序复杂程度和CPU性能。

每个扫描周期包含以下三个阶段:

1、输入采样阶段

读取所有输入信号‌:PLC将物理输入端口的状态(如传感器信号)一次性读取到输入映像寄存器中,确保程序执行期间输入状态的一致性。2‌、程序执行阶段
  • 逐行执行用户程序‌:CPU按照梯形图、指令表等编程语言的逻辑顺序进行运算,处理输入数据,生成中间结果并存储在输出映像寄存器中。此阶段输入映像寄存器的值保持不变,即使实际输入状态变化也不会影响当前周期。
  • 3‌、输出刷新阶段

    • 更新物理输出‌:将输出映像寄存器的结果一次性传送到输出模块,驱动执行器动作(如启动电机)。完成输出刷新后,PLC重新进入下一轮扫描周期。
    • 不同的PLC项目主要是输入输出数量及程序逻辑复杂程度不一样。

    PLC存储区

    了解完PLC工作原理后,接下来就要了解PLC存储区?

    PLC作为一种下位机,上位机与PLC之间主要通过通信进行交互,然而通信的最终目的是为了实现数据交互,数据载体即为存储区。因此,学习上位机,一定要对了解PLC存储区。PLC品牌和种类很多,那么我们该如何学习呢?
    • 从数据类型来看,PLC存储区无非分为3类,一类是以字节为单位的,一个是以布尔为单位,一个是以字(即寄存器)为单位。
    • 从读写特性来看,对于PLC来说,除了输入存储区,比如西门子的I区,三菱的X区,其他存储区都是可读可写的。
    综合来看,对于我们来说,PLC存储区只有两种,一种是西门子PLC,另一种是其他PLC。

    西门子PLC

    西门子PLC存储区主要有I区、Q区、M区、DB存储区、V区(即DB1),对于C区计数器和T区定时器,一般使用较少,我们一般主要使用DB存储区/V区。

    这里以V区为例,其他存储区都是类似的。

    西门子PLC存储区以字节为单位,每个字节中包含8个位,每2个字节组成一个字,每4个字节组成一个双字或单精度浮点数,每8个字节组成一个长字或双精度浮点数。VB100:表示V区中第100个(从0开始)字节。VW100:由VB100+VB101两个字节组成。VD100:由VB100-VB103四个字节组成。V100.0:表示VB100中的第0个位。通过地址只能确定所占的字节数,不能确定具体数值的,还需要配合数据类型,比如VD100,即可以表示有(无)符号整型,也可以表示单精度浮点数。另外西门子对数据类型的定义与我们C#中的数据类型是不一样的,具体对照表如下:

    三菱PLC

    三菱PLC、欧姆龙PLC、信捷、汇川、台达等日系或国产PLC,它们的存储区都是比较类似的。这里以三菱FX5U PLC为例进行说明。

    三菱PLC存储区主要有X、Y、M、D、W,一般我们主要使用M区和D区,X区、Y区、M区是布尔存储区,D区、W区是字存储区。

    对于X区Y区,一般会是8/16进制,M区是10进制,X10(8进制)表示的是X区的第8个地址,M10表示的是M区的第10个地址。

    对于W区,一般是16进制,而D区是10进制,W0A表示的是W区的第10个字,D10表示的是D区的第10个字。

    这里的进制不用过于纠结,以实际PLC提供的地址表为准。

    每个字包含16个位,以D100为例,D100包含D100.0-D100.F,这里的位一般会写成16进制。每2个字组成一个双字,可以表示整型或单精度浮点数,比如D100(双字/浮点数)就是由D100和D101组成而成。

    如果学过Modbus就会发现,三菱PLC的地址模型和Modbus是非常相似的,X区映射输入线圈,Y和M映射输出线圈,D和W映射保持寄存器,而输入寄存器一般不使用,下面是三菱FX5U PLC的Modbus映射表:

    因此,如果熟悉Modbus协议,很多PLC的存储区是非常容易理解的。

    标签通信

    上面说的存储区和地址模型都是基于地址偏移的。

    上位机通信还有另外一种方式,就是基于标签通信,这个以倍福PLC和罗克韦尔AB PLC为代表,其他PLC也慢慢开始支持,比如西门子、汇川等。

    1. 标签通信,顾名思义,就是不再需要寻址,可以直接通过变量名称来实现通信。这个主要由通信协议决定,目前支持标签通信的协议包括倍福的Ads通信协议,AB、欧姆龙的EtherNet/IP通信协议、西门子PLC的S7Plus通信协议以及OPCDA/UA通信等。



    声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
    0
    评论
    • 相关技术文库
    • 电源
    • DC
    • AC
    • 稳压
    下载排行榜
    更多
    评测报告
    更多
    广告