学西门子S7-300 PLC教案2.doc
如有侵权,请联系网站删除,仅供学习与交流学西门子S7-300 PLC教案2【精品文档】第 页4.2.3 计数器指令S7中的计数器用于对RLO正跳沿计数。加计数器计数器的种类 减计数器可逆计数器1.计数器的组成在CPU中保留一块存储区作为计数器计数值存储区,每个计数器占用两个字节,称为计数器字。计数器字中的第0至11位表示计数值(二进制格式),计数范围是0到999。当计数值达到上限999时,累加停止。计数值到达下限0时,将不再减小。 累加器1低字的内容计数值1272.计数器指令LAD指令STL指令功能说明 C no.(SC)<预置值>SC C no.计数器置初始值该指令为计数器置初始值,其中no.为计数器编号,数据类型为COUNTER;<预置值>的数据类型为WORD,可用存储区为I、Q、M、D、L,也可为常数;STL指令的初始值在累加器1中. C no.-(CU)CU C no.加计数执行指令时,RLO每有一个正跳沿计数值加1.若达上限999,则停止累加. C no.-(CD)CD C no.减计数执行指令时,RLO每有一个正跳沿计数值减1.若达下限0,则停止减。FR C no.允许计数器再启动若RLO为1,则初始值再次装入,它不是计数器正常运行的必要条件。当计数大于0时在输出Q上的1信号状态检查产生结果1;当计数等于0时,信号状态检查产生结果0。3. 计数器的梯形图方块指令参数数据类型存储区说明N0.COUNTER计数器标识号CUBOOLI,Q,M,D,L加计数输入CDBOOLI,Q,M,D,L减计数输入SBOOLI,Q,M,D,L计数器预置输入PVWORDI,Q,M,D,L计数初始值(0至999)RBOOLI,Q,M,D,L复位计数器输入QBOOLI,Q,M,D,L计数器状态输出CVWORDI,Q,M,D,L当前计数值输出(整数格式)CV_BCDWORDI,Q,M,D,L当前计数值输出(BCD格式)4.计数器应用举例例一 计数器扩展为定时器当定时器不够用时,可以用计数器扩展为定时器.程序中使用了CPU的时钟存储器,设置MB100为时钟存储器,则M100.0的变化周期为0.1s。在程序中,如果I0.1的正跳沿为减计数器C0置数.若I0.0为1,则C0每0.1s减1。当C0减到0后,输出Q0.0为1.I0.1的又一个正跳沿使C0置数并使输出为0.这样,在I0.0为1后2s(20*0.1s=2s),Q0.0为1,I0.1的正跳沿使Q0.0复位.例二 长时间延时程序采用定时器和计数器可以组成长时间延时程序,如下:当输入I0.0接通时,定时器T0经过10s时间延时后,其动合触点T0闭合,计数器C0开始递减运算,与此同时T0的动断触点是断开的,造成T0线圈断电,使T0的动合触点断开,C0仅计数一次,而后T0线圈又接通,如此循环.当C0经过10s*10=100s时间后,计数器C0输出为0,输出Q0.0接通,具有长时间延时的功能.例三 货仓区的控制如下图,装有两台传送带的系统,在两台传送带之间有一个仓库区。传送带1将包裹运送至临时仓库区。传送带1靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带2将临时库区中的包裹运送至装货场,在这里货物由卡车运送至顾客。传送带2靠近仓库区一端安装的光电传感器确定已有多少包裹从库区运送至装货场。梯形图程序:例四 气缸运动计数控制要求: 气缸连续往复运动20次便自动停止(一)气控回路(二)PLC接线(三)定义符号地址符号地址绝对地址类据类型说明S0I0.0BOOL启动按钮S1I0.1BOOL停止按钮1S1I0.2BOOL位置传感器1S2I0.3BOOL位置传感器1Y1Q0.0BOOL换向阀电磁线圈1Y2Q0.1BOOL换向阀电磁线圈M0M0.0BOOL启动线圈(四)梯形图程序练习:当X0接通,灯Y0亮;经5s后,灯Y0灭,灯Y1亮;经5s后,灯Y1灭,灯Y2亮,再过5s后,灯Y2灭,灯Y0亮,如此顺序循环10次后自动停止。4.3 数字指令装入和传送指令比较指令转换指令数字指令逻辑运算指令算术运算指令数字系统功能指令4.3.1 装入和传送指令装入(L)和传送(T)指令可以在存储区之间或存储区与过程输入、输出之间交换数据。CPU执行这些指令不受逻辑操作结果RLO的影响。L指令将源操作数装入累加器1中,而累加器原有的数据移入累加器2中,累加器2中原有的内容被覆盖。T指令将累加器1中的内容写入目的存储区中,累加器的内容保持不变。L和T指令可对字节、字、双字数据进行操作,当数据长度小于32位时,数据在累加器右对齐,其余各位填0。1. 对累加器1的装入和传送指令L +5T MW02. 读取或传送状态字L STW /将状态字中0-8位装入累加器1中,累加器9-31位被清0T STW /装累加器1中的内容传送到状态字中3. 装入时间值或计数值L T1 /将定时器T1中二进制格式的时间值直接装入累加器1的低字中LC T1 /将定时器T1中的时间值和时基以BCD格式装入累加器1的低字中L C1 /将计数器C1中二进制格式的计数值直接装入累加器1的低字中LC C1 /将计数器C1中的计数值以BCD格式装入累加器1的低字中4. 地址寄存器装入和传送LAR1 /将操作数的内容装入地址寄存器AR1LAR2 /将操作数的内容装入地址寄存器AR2TAR1 /将AR1的内容传送给存储区或AR2TAR2 /将AR2的内容传送给存储区CAR /交换AR1和AR2的内容对于地址寄存器,可以不经过累加器1而直接将操作数装入或传出,或将两个地址寄存器的内容直接交换.5. 梯形图方块传送指令注意:高位赋值给低字节,低位赋值给高字节。如下程序,当按下按钮I0.0,输出Q0.0为1.4.3.2 比较指令比较指令用于比较累加器2与累加器1中的数据大小。比较时应确保两个数的类型相同,数据类型可以是整数、长整数或实数。若比较的结果为真,则RLO为1,否则为0。1比较两个整数或长整数指令说明ID在累加器2低字中的整数是否等于累加器1低字中的整数在累加器2中的长整数是否等于累加器1中的长整数ID在累加器2低字中的整数是否不等于累加器1低字中的整数在累加器2中的长整数是否不等于累加器1中的长整数ID在累加器2低字中的整数是否大于累加器1低字中的整数在累加器2中的长整数是否大于累加器1中的长整数ID在累加器2低字中的整数是否小于累加器1低字中的整数在累加器2中的长整数是否小于累加器1中的长整数ID在累加器2低字中的整数是否大于等于累加器1低字中的整数在累加器2中的长整数是否大于等于累加器1中的长整数ID在累加器2低字中的整数是否小于累加器1低字中的整数在累加器2中的长整数是否小于累加器1中的长整数2比较两个实数指令说明R在累加器2中的32位实数是否等于累加器1中的实数R在累加器2中的32位实数是否不等于累加器1中的实数R在累加器2中的32位实数是否大于累加器1中的实数R在累加器2中的32位实数是否小于累加器1中的实数R在累加器2中的32位实数是否大于等于累加器1中的实数R在累加器2中的32位实数是否小于等于累加器1中的实数3梯形图方块比较指令方块比较指令在逻辑串中,等效于一个常开触点,如果比较结果为“真”,则该常开触点闭合,否则触点断开。例如:4.3.3 算术运算指令在STEP 7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。1. 整数算术运算指令说明I将累加器1,2低字中的16位整数相加,16位整数结果保存在累加器1低字中I将累加器2低字中的16位整数减去累加器1低字中的内容,结果保存在累加器1低字中I将累加器1,2低字中的16位整数相乘,32位整数结果保存在累加器1低字中I将累加器2低字中的16位整数除以累加器1低字中的内容,商为16位整数并保存在累加器1低字中,余数存放在累加器1的高字中D将累加器1,2中的32位整数相加,32位整数结果保存在累加器1中D将累加器2中的32位整数减去累加器1中的内容,结果保存在累加器1中D将累加器1,2中的32位整数相乘,32位整数结果保存在累加器1中D将累加器2中的32位整数除以累加器1中的内容,商为32位整数并保存在累加器1中,余数被丢掉MOD将累加器2中的32位整数除以累加器1中的内容,余数保存在累加器1中,商被丢掉累加器1中加一个16位或32位整数常量,结果保存在累加器1中2. 实数算术运算指令说明R将累加器1,2中的32位实数相加,32位结果保存在累加器1中R将累加器2中的32位实数减去累加器1中的内容,结果保存在累加器1中R将累加器1,2中的32位实数相乘,32位乘积保存在累加器1中R将累加器2中的32位实数除以累加器1中的内容,商为32位实数并保存在累加器1中ABS对累加器1中的32位实数取绝对值3. 梯形图算术运算方块指令例一 解数学问题用算术运算指令解以下的方程:梯形图程序:练习:(1)自动售货机的PLC控制 如下图所示的自动售货机示意图,其工作要求如下:1.此售货机可投入1元、5元或10元硬币。2.当投入的硬币总值超过12元时,汽水按钮指示灯亮;当投入的硬币总值超过15元时,汽水及咖啡按钮指示灯都亮。3.当汽水按钮灯亮时,按汽水按钮,则汽水排出7s后自动停止,这段时间内,汽水指示灯闪动。4.当咖啡按钮灯亮时,按咖啡按钮,则咖啡排出7s后自动停止,这段时间内,咖啡指示灯闪动。5.若投入硬币总值超过按钮所需的钱数(汽水12元,咖啡15元)时,找钱指示灯亮,表示找钱动作,并退出多余的钱。参考答案:(2)LED数码显示PLC控制利用PLC来控制一位七段LED数码管的显示,数码管的每一段都对应PLC的一个输出端子,PLC输出端子的“1”、“0”状态对应于相应段的亮与灭。有两个按钮“+”、“-”,每按动一次“+”按钮,数字加1,每按动一次“-”按钮,数字减1。要求能正确显示数字0-9即可。