[西门子] PLC的数据类型到底是什么,如何使用?

[复制链接]
查看103 | 回复0 | 3 天前 | 显示全部楼层 |阅读模式
>

文末有55个实战案例资料

导读:在我们学习PLC编程的时候,会使用地址来存储数据,而这个地址又有数据类型之分,比如要存储“5000”这个数据,那么这个数据应该存储在哪个地址里?存储的时候会不会出错?个人认为:初学者往往学基本的逻辑程序感觉会比较简单,但是一旦到数据类型这块,就会很瞢,因为它涉及到一些计算机的基础知识。尤其是学习西门子的PLC,这块内容会比较重要;而学习三菱PLC的朋友们,会感觉好很多,所以初学者都愿意去学习三菱的PLC,但是西门子的PLC市场占有量一直是最大的,我们学习数据类型这道坎就得迈过去。下面跟着我来一起解读西门子PLC的数据类型。

入门西门子的PLC编程的话,通常会选择200SMART或者1200PLC,前者的数据类型会少很多,都是一些基本的数据类型,比如“布尔”“字节”“字”等,那到了1200之后,不仅仅有基本的单个数据类型,还增加了“数组”“结构体”“UDT”等复杂数据类型,那么这些数据类型呢,其实也是由单个的数据类型所组合,学会了基本的数据类型,后面复杂数据类型就会简单很多。

1.布尔型

布尔型数据类型是最常用的,也是最简单的,它只有两种状态,一种是TRUE;另外一种是“FALSE”,也就是我们常说的开关量。比如程序中的常开和常闭触点,这种触点要么接通,要么断开,不存在第三种状态。那通常我们也会用01表示这两种状态,但是01会让别人误认为是整数型的数据,因为整数的数据就是0123…这种数值数据,所以用TRUEFALSE来表达会更加准确。

2.字节型

一个字节(BYTE型)包含8个二进制的位,位地址是从0开始。如果8个二进制位的数据都为1,那么就是“2#11111111”。就比如一个长凳子,总共最多只能坐8个人,你可以空出几个位置不坐,但是不能超过8个。那么这8个二进制1换算成10进制,那么则为255。也就是说,要往一个字节的数据地址中存储数据,最大只能存的数值就是255。比如,我现在计算的一个管道的水流量数值是500,那么就不能存储在字节的地址中,因为它超过255这个范围了。所以在编程的时候大家要注意,存储空间,其实就是存储数据大小的合理范围。

1200PLC中的字节表示方式为:MB0M代表存储区,而B代表的是字节,所以它占有8个位的数据,从低到高(从又往左)的地址是M0.0M0.7。由图中我们可以看出,到程序中M0.1接通了,MB0当中第1位是为“1”。所以我们在编程时候使用了地址要看是否与相关地址重叠。

3. 字型

一个字型(WORD型)变量包含16个位,也就是两个字节长度。取值范围是16#0000~16#FFFF,换算成10进制就是0-65535,换句话说,如果你在编程时候有一个数据超过了65535,那么你就应该换一个地址存储,因为字的空间只用65535这么大。

特别注意,西门子PLC中的变量字中字节的地址顺序与其他PLC不同,在将字分解为字节时,要注意地址顺序。例如,某个字型变量地址为MW10,它包含两个字节MB10MB11,其高8位的字节是MB10,低8位的字节是MB11

4.双字型

一个双字型(DWORD型)变量包含32个位,也就是两个字或四个字节长度。取值范围是16#0000_0000~16#FFFF_FFFF。西门子PLC的双字变量中字节地址顺序也与其他PLC不同,例如,某个双字变量的地 址为MD10,它包含四个字节MB10~MB13,其最高8位的字节是MB10,最低8位的字节是 MB13。或者包含两个字,高位字为MW10,低位字为MW12

最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我。






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则