西门子模块授权代理|西门子代理商
有关西门子s7-200系列plc的编程例子,用plc实现一个简单的抢答器控制程序,主持人与选手间操作抢答器的设计要求,以及完整的plc程序设计,供大家学习参考。
西门子s7-200抢答器控制程序,三路抢答器设计
1、设计要求
知识竞赛互动,有三组选手:
选手1 的抢答按钮为I0.2,抢答指示灯为Q0.2;
选手2 的抢答按钮为I0.3,抢答指示灯为Q0.3;
选手3 的抢答按钮为I0.4,抢答指示灯为Q0.4。
控制要求:
当主持人按下启动按钮I0.0后,抢答指示灯Q0.0点亮,开始抢答。若5秒内无人抢答,抢答指示灯Q0.0熄灭,说明此题无人抢答,题目自动作废。
当主持人出题后,没有按下启动按钮I0.0,如有人抢答,则Q0.1报警,选手自己的灯亮,表示选手违规。
当主持人按下启动按钮I0.0后,开始抢答。第一个按下按钮的选手信号有效,其余选手信号(后按下的)则无效,选答信号指示灯亮。
当主持人按下复位按钮I0.1后,所有指示灯熄灭,进行下一路抢答
字节、字或双字存取
欲存取字节、字或双字,地址,地址包含区域标识符,数据大小的字母以及地址号码。
VB200 存取V内存地址字节200
VW200 存取V内存地址字节200和201
VD200 存取V内存地址字节200、201、202和203
数据长度不一样,VD0=VW0+VW2, VW0 = VB0+VB1。
VB,VW,VD是从数据存储结构上定义的。
按数据类型分有布尔型、短整型、整型、长整型、浮点型等等
布尔型,占1个位,1 Bit
短整型,占8个位,1 Byte,可以是VB, MB。。
整型,占16个位,1Word,可以是VW, MW。。。
长整型,占32个位,2Word,可以是VD, MD。。。
浮点型,占32个位,2Word,可以是VD, MD。。。
对于不同的系统,短整型和整型的长度可能不同。。
在使用MOVE指令的时候,输入输出双方的格式要一致。
vb能够存*大255, vw*大能够存65535,vd*大能够存4294967295,只要能够满足你的要 求,能够存下你的数据不会溢出就可以了!所以你要存的数据只要小于上面说得这些数据就可 以使用相应的变量来保存
S7-200寻址:
因为S7-200CPU有四种内存空间,分别为位、字;、字、双字。所以对应的寻址方式有按 位寻址,按字节寻址,按转址,按双转址。
对字寻址,地址编号为2的倍数,对双字寻址,地址编号为4的倍数,这样地址不会相互覆 盖。
因为 VW0=VB0+VB1 ,VW2=VB2+VB3.
VD0=VW0+VW2=VB0+VB1+VB2+VB3,VD4=VW4+VW6=VB4+VB5+VB6+VB7.
一个双字=两个字=四个字节=三十二个位也就是说VD0=VW0+VW2=VB0+VB1+VB2+VB3=v 0.0到V3.7西门子的存储都是包含关系
丨/〇点分配:
PLC上电后,首先应用编程软件查看PLC—信息来查看CPU为每个模块分配的地址,才能 知道每个点对应的地址,这样才能进行编写程序(模块上的每个点不是人为控制的,它们是 CPU分配的)
1位,BOOL型,占1位,例如DB1.DBX0.0, 1字劳占8位,例如DB1.DBB0,字占16位,例如 DB1.DBW0,双字占32位,例女口DB.DBD0,其中DB1.DBB0包含 DB1.DBX0.0-DB1.DBX0.7, DB.DBW0包含DB1.DBB0和DB1.DBB1, DB.DBD0包含 DB1.DBB0、D巳1.DBB1、DB1.DBB2、DB1.DBB3,这样可以理解卩马DBX0.2又寸应显示 B#16#2,使用16进制表示,那么2进制和16进制如何转换,例如2用二进制表示表示为0000 0010
西门子PLC遵循“高字节低地址、低字节高地址"的规律 DB1.DBW0表示db1中起始地址为0的第1个字 DB1 .DBW2表示d1中起始地址为0的第2个字 Siemens地址区数据正确的排列顺序如下,
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0 2.7-2.0 3.7
-3.0 DBB0 DBB1 DBB2 DBB3
也就是说,vb可以当字节变量来理解,vw可以当整型变量来理解,vd可以当长整型或浮点型变量来理解。
S7-200的数据主要分为:
1、与实际输入/输出信号相关的输入/输出映象区:
I:数字量输入(DI)
Q:数字量输出(DO)
AI:模拟量输入
AQ:模拟量输出
2、内部数据存储区
V:变量存储区,可以按位、字节、字或双字来存取V 区数据
M:位存储区,可以按位、字节、字或双字来存取M区数据
T:定时器存储区,用于时间累计,分辨率分为1ms、10ms、100ms三种
C:计数器存储区,用于累计其输入端脉冲电平由低到高的次数。CPU提供了三种类 型的计数器:一种只能增计数;一种只能减计数;另外一种既可 以增计数,又可以减计数
1、所有的数据在PLC中都是以二进制形式表示的
2、数据都有其特定的长度和表示方式,称为格式
3、数据的格式与用于运算、处理它的指令相关
4、以不同的格式查看一个数据,或是使用不同格式的指令处理它,会得到不同的效果
表1. S7-200支持的数据格式
寻址格式 数据长度
(二进制位) 数据类型 取值范围
BOOL(位) 1(位) 布尔数
(二进制位) 真(1);假(0)
BYTE(字节) 8
(字节) 无符号整数 0 ~ 255;0 ~ FF(Hex)
INT(整数) 16
(字) 有符号整数 - 32768 ~ 32767;
8000 ~ 7FFF(Hex)
WORD(字) 无符号整数 0 ~ 65535;
0 ~ FFFF(Hex)
DINT
(双整数) 32
(双字) 有符号整数 - 2147483648 ~ 2147483647
8000 0000 ~ 7FFF FFFF(Hex)
DWORD
(双字) 无符号整数 0 ~ 4294967295;
0 ~ FFFF FFFF(Hex)
REAL
(实数) IEEE 32位
单精度浮点数 -3.402823E+38 ~ -1.175495E-38(负数);
+1.175495E-38 ~+3.402823E+38(正数); 0.0※
ASCII 8/个
(字节) 字符列表 ASCII字符、
汉字内码(每个汉字2字节)
STRING
(字符串) 字符串 1 ~ 254个ASCII字符、
汉字内码(每个汉字2字节)