PLC_30秒倒计时钟-七段码译码指令
汇川PLC时间换算指令

汇川PLC时间换算指令
汇川PLC 中,实现时间换算的指令是\" GetTimeIndirector ()\",它在指定的地址和日期范围内读取当前系统时钟信号的时间值,并将其转换为标准格式的时间,再传送给外部设备或上位机显示。
1、GetTimeIndirector 函数,是一个用于从指定的时间到指定的时间进行时间比较的函数。
它返回两个时间之间的差值。
函数原型: int getTimeIndirector (timevaltimeval,* stderr, Timeflagsinquent);参数: timeval—指定要查询的时间; stderr—指定要比较的时间段; Timeflagsinquent—指定比较的标志位,可以是任意的整数,如果不指定标志位,则使用默认值。
2、该函数是一个计数器,用来计算两个时间间隔的总和。
如果已知两个时间的总和,函数getTimeComplete ()返回当前时间,如果未知两个时间的总和,函数getTimeCalfocus ()返回两个时间间隔之间的最小值。
3、注意:函数getTimeCalfocus ()不能用于时间换算,因为它只是比较时间间隔的大小,而没有提供具体的操作。
4、程序例子:# include< iostream> void main (){
printf (\" CurrentData=% d\", timeval. getTimeIndirector ());
return1;}。
第7章 S7-200系列PLC的功能指令

第7章 S7-200 系列PLC的功能指令
使能输入与使能输出
功能指令内涵主要是指令所完成的功能,不含表达梯形图符号 间相互关系的成分,因此其梯形图符号多为功能块。功能块顶 部为指令的标题,左侧为输入端,右侧为输出端。功能块中使 能输入端“EN”必须存在“能流”,即与之相连的逻辑运算结 果为1,该功能指令才能够被执行。使能输出端“ENO” 是功 能块的输出,用于功能块的级联,表示当使能输入端“EN”有 “能流”并且指令被正常执行时,将“能流”传递给下一个功 能块,此时,“ENO”输出为1;如果指令执行出错,那么“能 流”就在出现错误的功能块终止,即“ENO”输出为0。“EN” 和“ENO”均为“能流”,其数据类型为布尔型。
第7章 S7-200 系列PLC的功能指令
(2)跳转指令示例。
图中当I0.0为ON时,I0.0的常开触点接通,即JMP1条件 满足,程序跳转执行LBL标号1以后的指令,而在JMP1 和LBL1之间的指令一概不执行,在这个过程中,即使 I0.1接通Q0.1也不会有输出;此时I0.0的常闭触点断开, 不执行JMP2,所以I0.2接通,Q0.2有输出。当I0.0断开 时,则其常开触点I0.0断开,其常闭触点接通,此时不 执行JMP1,而执行JMP2,所以I0.1接通,Q0.1有输出, 而I0.2即使接通,Q0.2也没有输出。
第7章 S7-200 系列PLC的功能指令
第7章 S7-200 系列PLC的功能指令
【例】调整模拟调整电位器0,改变SMB28字 节数值,当SMB28数值小于或等于50时,Q0.0 输出,其状态指示灯打开;当SMB28数值大于 或等于150时,Q0.1输出,状态指示灯打开。梯 形图程序和语句表程序如图所示。
第7章 S7-200 系列PLC的功能指令 (3)应用举例。
第5章S7-200PLC的指令系统-2讲解

0秒
10
20
t
例6:
IO.O M0.0
I0.1
M0.0
()
M0.0 T38
T37 IN TTOONN 100 PT 1001m00s
T38 IN TTOONN 200 PT 1001m00s
M0.0
T37
Q0.0
( ) KM1
T37
T38
Q0.1
()
KM2 -电动机反转
0秒
10
20
t
例6:
IO.O M0.0
SB1
PLC
EL1
I0.0 Q0.0
SB2
I0.1
1M
1L
IO.O M0.0 M0.0
M0.0
I0.1
M0.0
()
T38 IN TTOONN 1200 PT 1001m00s
T38
Q0.0
()
I0.0 Q0.0 Q0.0
I0.1 T37
Q0.0
()
T37 IN TTOONN 1200 PT 1001m00s
例4: 三只灯泡,按下启动按钮SB1后,三只灯 全亮,10S后EL1自动灭,20S后EL2自动灭, 30S后EL3自动灭。
SB1
PLC
EL1
I0.0 Q0.0
SB2
EL2
I0.1 Q0.1
EL3
I0.2 Q0.2
SB3
I0.3
SB4
1M
1L
IO.O M0.0 M0.0
I0.1
M0.0
()
T37
IN TTOONN 100 PT 10100m0s
例如:TON指令用定时器T33,预设值为125,则实际定 时时间 T=125×10=1250ms
PLC编程指令

MITSUBISHI可编程FX系列指令一程序流程—功能00~0900CJ条件转移01CALL调用子程序02SRET从子程序返回03IRET中断返回04EI开中断05DI关中断06FEND主程序结束07WDT监视定时器08FOR循环开始09NEXT循环结束二传送和比较指令—功能10~1910CMP比较11ZCP区间比较12MOV传送13SMOV移位传送14CML求补运算15BMOV数据块传送16FMOV多点传送17XCH数据交换18BCD求BCD码19BIN求二进制码三算术和逻辑运算指令—功能20~29 20ADD加法21SUB减法22MUL乘法23DIV除法24INC加一25DEC减一26WAND字与27WOR字或28WXOR字异或29NEG求补四循环与移位—功能30~3930ROR循环右移31ROL循环左移32RCR带进位循环右移33RCL带进位循环左移34SFTR位右移35SFTL位左移36WSFR字右移37WSFL字左移38SFWRFIFO写39SFRDFIFO读五数据处理—功能40~4940ZRST区间复位41DECO解码42ENCO编码43SUMON位总数44BON检查位状态45MEAN求平均值46ANS标志置位47ANR标志复位48SQR平方根49FLT整数转换成浮点数六高速处理—功能50~5950REF刷新51REFF刷新与滤波处理52MTR矩阵输入53HSCS高速记数器置位54HSCR高速记数器复位55HSZ高速记数器区间比较速度检测56SPD脉冲输出Speed detect 57PLSY脉宽调制Pulse Y58PWM脉冲调制Pulse width modulation59PLSR带加减速脉冲输出七方便指令—功能60~6960IST状态初始化61SER寻找62ABSD绝对值凸轮顺控63INCD增量凸轮顺控64TTMR示教定时器65STMR专用定时器—可定义66ALT交替输出67RAMP斜坡输出68ROTC旋转台控制69SORT排序八外部I/O设备—功能70~79 70TKY十键输入71HKY十六键输入72DSW拨码开关输入73SEGD七段码译码74SEGL带锁存的七段码显示75ARWS方向开关76ASCASCII变换77PR打印78FROM读特殊功能模块79TO写特殊功能模块九外围设备SER—功能80~89 80RSRS通讯81PRUN8进制位传送82ASCI十六进制至ASCII转换83HEXASCII至十六进制转换84CCD校验码85VRRD电位器读入86VRSC电位器刻度8788PIDPID控制89十F2外部模块—功能90~9990MNETF-16N, Mini网91ANRDF2-6A, 模拟量输入92ANWRF2-6A, 模拟量输出93RMSTF2-32RM, 启动RM94RMWRF2-32RM, 写RM95RMRDF2-32RM, 读RM96RMMNF2-32RM, 监控RM97BLKF2-30GM, 指定块98MCDEF2-30GM, 机器码99十一浮点数—功能110~132 110ECMP浮点数比较111EZCP浮点数区间比较118EBCD浮点数2进制->10进制119EBIN浮点数10进制->1进制120EADD浮点数加法121ESUB浮点数减法122EMUL浮点数乘法123EDIV浮点数除法127ESOR浮点数开方129INT浮点数->整数130SIN浮点数SIN运算131COS浮点数COS运算132TAN浮点数TAN运算147SW AP上下字节交换十二定位—功能155~159 155ABS156ZRN157PLSY158DRVI159DRV A十三时钟运算—功能160~169 160TCMP161TZCP162TADD163TSUB166TRD167TWR169HOUR十四外围设备—功能170~177 170GRY171GBIN176RD3A177WR3A十五接点比较—功能224~246 224LD=(S1)=(S2)225LD>(S1)>(S2)226LD<(S1)<(S2)228LD<>(S1)<>(S2)229LD<=(S1)>=(S2)230LD>=(S1)>=(S2)232AND=(S1)=(S2)233AND>(S1)>(S2)234AND<(S1)<(S2)236AND<>(S1)<>(S2)237AND<=(S1)>=(S2)238AND>=(S1)>=(S2)240OR=(S1)=(S2)241OR>(S1)>(S2)242OR<(S1)<(S2)244OR<>(S1)<>(S2)245OR<=(S1)>=(S2)246OR>=(S1)>=(S2)特殊软元件一PC状态M8000RUN监控(a触点)M8001RUN监控(b触点)M8002初始脉冲(a触点)M8003初始脉冲(b触点)M8004发生出错M8005电池电压下降M8006电池电压下降锁存M8007电源瞬停检测M8008停电检测M8009DC24V关断D8001PLC型号及系统版本D8002存储器容量D8003存储器类型D8004出错M地址号D8005电池电压D8006电池电压下降检出电平D8007瞬停次数D8008停电检测时间D8009DC24V关断的单元编号二时钟M8011震荡周期10msM8012震荡周期100msM8013震荡周期1sM8014震荡周期1分钟M8015计时停止及预置M8016时间读出时显示停止M8017±30秒的修正M8018检测RTC卡盒是否插入M8019实时时钟(RTC)出错D8010当前扫描时间D8011最小扫描时间D8012最大扫描时间D8013秒D8014分D8015时D8016日D8017月D8018年D8019星期(0:星期日~6:星期六)三标志M8020零(加减运算结果为0时置位) M8021借位M8022进位M8023小数点运算标志M8024M8025HSC方式M8026RAMP方式M8027PR方式M8028FROM./TO指令执行中允许中断标志M8029指令执行完成D8028Z寄存器内容D8029V寄存器内容四PLC方式M8030电池LED灯灭指令M8031全清非保持存储器M8032全清保持存储器M8033停止时存储器保持M8034禁止所有输出M8035强制RUN方式M8036强制RUN信号M8037强制STOP信号M8038RAM文件寄存器全清零M8039恒定扫描方式D8039恒定扫描时间FX2N, FX2NC基本性能项目FX2N, FX2NC系列输入继电器X184点合计256点输出继电器Y184点辅助继电器M一般用500点M0~M499保持用(可变)524点M500~M1535保持用(固定)2048点M1024~M3071特殊用256点M8000~M8255状态继电器S初始化用10点S0~S9一般用490点S10~S499锁存用400点S500~S899报警用100点S900~S999定时器T100ms200点T0~T19910ms46点T200~T2451ms4点T246~T249100ms(积算)6点T250~T255模拟计数器C增计数一般用100点(16位)C0~C99 锁存用100点(16位)C100~C199加/减用一般用20点(16位)D200~D999锁存用15点(16位)C100~C199高速用一相10KHz 3点, 7KHz 3点或二相2KHz 2点(总计20KHz)数据寄存器D通用数据存储器一般用200点D0~D199保持用(可变)312点D200~D511保持用(固定)7488点D512~D7999特殊用256点D8000~D8255变址用16点V0~V7, Z0~Z7文件寄存器最大7000点D1000以后(可设)可指定1~14个块,每个块500点指针跳步跳步转移用128点P0~P127输入中断指针6点I00*~I50*定时器中断指针3点I6**~I8**计数器中断指针6点I010~I060频率主控用8点N0~N7常数十进制K32位-2147483648~+2147483647十六进制H32位0~FFFFFFFF(H)FX2N-16M-128M型1 输入输出16-256点2 内置RAM存储器(8000步)。
红用maxplus绿灯30秒倒计时计数器代码

红用maxplus绿灯30秒倒计时计数器代码以下是使用 MAX+PLUS II 进行 30 秒倒计时计数器的示例代码:
```
// 定义计数器变量
unsigned int count = 0;
// 初始化计数器
void setup() {
// 设置计数器初始值为 0
count = 0;
// 设置绿灯闪烁频率为 250 Hz
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
delay(250);
digitalWrite(13, LOW);
delay(250);
}
// 更新计数器值
void loop() {
// 计数器递增
count++;
// 如果计数器值大于 30,则重置计数器并重新开始倒计时
if (count > 30) {
count = 0;
}
// 绿灯闪烁
if (count % 250 == 0) {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
}
```
上述代码使用 MAX+PLUS II 的 COUNT 指令来计算倒计时时间,其中 COUNT 指令的参数为 30,表示需要倒计时 30 秒。
代码中的
`setup()` 函数和 `loop()` 函数分别用于设置计数器和绿灯闪烁
的频率和周期。
PLC指令代码

M 内部继电器默认6144 点(M0 ~ 6143)( 可更改)B 链接继电器默认2048 点(B0 ~ 7FF)( 可更改)T 定时器默认512 点(T0 ~ 511)( 可更改)( 低速定时器/ 高速定时器共用) 通过指令指定低速定时器/ 高速定时器低速定时器/ 高速定时器的计量单位是在参数中设置( 低速定时器:1 ~ 1000ms,单位1ms,默认100ms)( 高速定时器:0.1 ~ 100ms,单位0.1ms,默认10ms)ST累计定时器默认0 点( 低速定时器/ 高速定时器共用)( 可更改) 通过指令指定低速定时器/ 高速定时器低速定时器/ 高速定时器的计量单位是在参数中设置( 低速定时器:1 ~ 1000ms,单位1ms,默认100ms)( 高速定时器:0.1 ~ 100ms,单位0.1ms,默认10ms)C 计数器普通计数器: 默认512 点(C0 ~ 511)( 可更改)D数据寄存器默认6144 点(D0 ~ 7FF6143)( 可更改)W链接寄存器默认2048 点(W0 ~ 7FF)( 可更改)F 报警器默认1024 点(F0 ~ 1023)( 可更改)V变址继电器默认1024 点(V0 ~ 1023)( 可更改)SB链接特殊继电器 1536 点(SB0 ~ 5FF)软元件点数固定SW链接特殊寄存器1536 点(SW0 ~ 5FF)SM特殊继电器5120 点(SM0 ~ 5119)SD特殊寄存器5120 点(SD0 ~ 5119)MRD在某个控制线路的编制过程中,使用MRD指令就将堆栈底部单元里的内容(即在最后一次使用MPS指令时,推入堆栈的逻辑运算结果)读出。
MPS在某个控制线路的编制过程中,如果要求该控制线路同时联结几个线圈或特殊功能块,而且它们各自的控制条件略有不同,需要将某一个或几个触点的逻辑运算结果存放起来,以备后用,这时就需要使用MPS指令将该逻辑运算结果推入堆栈。
电气控制与S7-300-PLC编程技术第6章-定时器计数器指令课件.ppt

BI
MW10
T MW10 LC T3
I0.5
T MW16
R
BCD MW6
A T3
= Q4.5
S处的RLO R处的RLO
定时器 操作
Q
t
t
接通延时 (SD)定时器的定时器线圈指令:
② ①
③ ④
4. S_ODTS保持型接通延时定时器(SS) :
I0.7
S5T#35s I0.5
T4
S_ODTS
S
Q
TV
输((输(输延保延出出出时持时信接信信脉型接号号通号冲延通定时延定时时时器器定)Q)QQ时444...器000SSSS___DPOO仅 信不度EDDX当 号管等TTTS设 才输于 定 入设从 信定0的变号的时为t为时间1间1。已的值经tt时t结。间束有以多及长输,入输信出号信仍号为为11时的输长
(输输(保接延出出持通时保信信型定接持号号延时通型器时定接)时通器延)QQ时44..00定SS__时OO不度仅信仅而器DDTT管等当号当不SS输于设S才设管入设定从定输信定0的的入变号的时时信为t为时间间号1间1。已已为的值经1经t时的t结结。间时束束有间以时多有及输长多输出长,入信。输信号出号才信仍从号为0变为1时为1的输1,长出
定时器当前的时间值
T10 二进制定时器字
Q
DBW1 L T10
T DBW1
BI
MW2 L T10
BCD
T MW2
QW4 L T10
T QW4
十进制定时器字 T10
DBW5 LC T10
Q
T DBW5
BI
MW6 LC T10 T MW6
BCD
QW6 LC T10
T QW6
PLC定时器计数器指令

计数器状态输出
CV
WORD Q、M、D、L
当前计数值输出(二进制)
CV_BCD WORD Q、M、D、L
当前计数值输出(BCD格式)
29
可逆计数器方框图指令及其STL语句表
30
CU CD
S
R
复位
计数值大于0,Q输出始终为1 计数值为0,Q为0 可逆计数器工作时序图
31
示例:设计16h的定时器 。 分析:1、 S7300/400定时器定时值最长即2h46m30s,不超过3
逻辑指令 功能指令
S7系列PLC的指令系统
位逻辑指令 定时器指令 计数器指令 字逻辑指令
数据处理指令
基本位逻辑指令 置位/复位指令 触发器指令 跳变沿检测指令(FN FP) RLO 操作指令 NOT\SET\RESET\CLR\SAVE
算术运算指令
程序执行控制指令 寄存器指令
其它功能指令
数据块指令
显示和空操作指令
说明 允许正在运行的计数器再启动 将计数器二进制计数值装入累加器1 将计数器BCD计数值装入累加器1 将累加器1中的内容传送至指定的字地址处 复位计数器 将计数器的预置值送入计数器字中 启动加计数器 启动减计数器
26
减计数器指令应用示例
加法计数器 ?
27
计数器梯形图方框指令
28
S7-300计数器
1
2
7
时基1 s
三 位 BCD码 范 围 (0~~999999)
无 关 : 当 定 时 器 启 动 时 这 两 位 被 忽 略 定时值
定时字?
时基与定时范围
时基 10 ms
时基的序号 0 0 ---------0
分辨率 0.01 s
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训题目:三十秒钟倒计时钟——七段码译码指令
一、实训目的
1. 掌握PLC的基本逻辑指令;
2. 训练PLC编程的思想和方法;
3. 应用PLC技术将继电接触器控制系统改造为PLC控制系统;
4. 掌握七段码译码指令SEGD。
二、实训器材
1.可编程控制器1台(FX2N型);
2.按钮开关2个常开;
3.实训控制台;
4.计算机1台(已安装编程软件);
5.数码显示器2个;
6.连接导线若干。
三、实训内容与指导
1. 控制要求:将三十秒钟倒计时钟改造为PLC控制系统。
2. I/O分配:根据系统控制要求,确定PLC的I/O(输入输出口)。
3. 系统接线:根据系统控制要求和I/O点分配,画出电动机的系统接线图。
4. 程序设计:根据控制要求,设计梯形图程序。
5. 系统调试:
(1)输入程序:通过计算机梯形图正确输入PLC中。
(2)静态调试:按PLC的I/O接线图正确连接好输入设备,进行PLC的模拟静态调
试,观察PLC的输出指示灯是否按要求指示,否则,检查并修改程
序,直至指示正确。
(3)动态调试:按PLC的I/O接线图正确连接好输出设备,进行系统的空载调试,
设计一个三十秒钟倒计时钟。接通控制开关,两个数码管分别显示
“2”、“9”,即“29”。随后每隔1s,显示数字减1,减到“0”、“0”
时,返回“29”继续1s减1,断开控制开关停止显示。否则,检查
电路或修改程序,直至符合控制要求。
(4)修改、打印并保存程序:动态调试正确后,练习删除、复制、粘贴、删除连线、
绘制连线、程序传送、监视程序、设备注释等操作,最
后,打印程序(指令表及梯形图)并保存程序。
四、实训报告
1. 实训总结
实训之前,先要认清自己是否弄懂了“算数运算的四则运算指令”。然后通过加减乘除
指令和七段码译码指令把所要的结果算出来,这就需要一定的理论基础知识以及听课的认真
程度。在课堂上,经过老师逐条指令给我们分解,使我对该指令有了初步的认识,而光靠这
是不够的,而是需要课后大量的复习和反复的试验,才能弄懂以上指令。下面是对本次实训
的详细说明:
2. 实训各图
(1)I/O分配表:
输入 输出
输入继电器 输入元件 作用 输出继电器 输出元件 作用
X0 SB1 启动按钮 Y0~Y6 七段数码管 译码信号
X1 SB2 停止按钮 Y10~Y16 七段数码管 译码信号
(2)PLC控制梯形图:
(3)PLC的外部硬件接线图:
3. 实训操作步骤
M8002指令为初始脉冲。k0赋初始值给D0为“0”。当按下SB1时,x0闭合,m0自
锁。1s脉冲指令m8013有输入信号,实现1s一个脉冲送给INC加1指令,D0从“0”一直
加到“30”。SUB为减法指令,30减去D0得出的D1就是最终所要得出的倒计时。
因为显示一个十位数需要两个数码管,所以要分别取出个位数和十位数。DIV指令为二
进制数除法指令,用得出结果D1除以10,得出的二进制数D2,即该结果的十位数。而后,
为了方便取其个位数,用MUL乘法指令把D2乘以10得出D3,再用SUB减法指令,把结
果D1减去D3得出其个位数。
最终D2为倒计时的十位数,D4为个位数。再用SEGD七段码译码指令,把D2和D4
分别在y000和y010显示出来,得出一个两位数。当D1倒数到“0”时,利用RST指令返
回D0的初始值为“0”。按下SB2停止按钮,使x1断开,y000和y010没有输出信号,数
码管停止显示。
SB2 X0 X1 COM 启动按钮 停止按钮 P L C Y1 Y2 Y3 Y4 Y5 Y6 Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y0 com1 com2 15V
SB1