第8章 程序控制指令

合集下载

欧姆龙指令集全

欧姆龙指令集全

3.1 时序输入指令223.1.1 读LD/读?非LDNOT223.1.2 与AND/与?非ANDNOT233.1.3 或OR/或?非ORNOT233.1.4 块?与ANDLD243.1.5 块?或ORLD243.1.6 非NOT(520)253.1.7 P.F.上升沿微分UP(521)253.1.8 P.F.下降沿微分DOWN(522)253.1.9 LD型?位测试LDTST(350)/LD型?位测试非LDTSTN(351)263.1.1 0AND型?位测试ANDTST(350)/ANDLD型?位测试非ANDTSTN(351)26 3.1.1 1OR型?位测试ORTST(350)/OR型?位测试非ORTSTN(351)273.2 时序输出指令273.2.1 输出OUT/输出非OUTNOT273.2.2 临时存储继电器TR283.2.3 保持KEEP(011)283.2.4 上升沿微分DIFU(013)293.2.5 下降沿微分DIFD(015)293.2.6 置位SET/复位RSET293.2.7 多位置位SETA(530)303.2.8 多位复位RSTA(531)303.2.9 1位置位SETB(532)/1位复位RSTB(533)313.2.1 01位输出OUTB(535)313.3 时序控制指令323.3.1 结束END(001)323.3.2 无功能NOP(000)323.3.3 互锁IL(002)/互锁解除ILC(003)333.3.4 多重互锁(微分标志保持型)MILH(517)/多重互锁(微分标志非保持型)MILR(518)/多重互锁解除MILC(519)333.3.5 转移JMP(005)/转移结束JME(005)343.3.6 条件转移CJP(510)/条件非转移CJPN(511)/转移结束JME(005)35 3.3.7 多重转移JMP0(515)/多重转移结束JME0(516)353.3.8 循环开始FOR(512)/循环结束NEXT(513)363.3.9 循环中断BREAK(515)37第4章定时器/计数器指令384.1 定时器指令384.1.1 定时器TIM/TIMX(550)384.1.2 高速定时器TIMH(015)/TIMHX(551)394.1.3 超高速定时器TMHH(540)/TMHHX(552)394.1.4 累计定时器TTIM(087)/TTIMX(555)404.1.5 长时间定时器TIML(542)/TIMLX(553)414.1.6 多输出定时器MTIM(543)/MTIMX(554)414.2 计数器指令424.2.1 计数器CNT/CNTX(546)424.2.2 可逆计数器CNTR(012)/CNTRX(548)434.2.3 定时器/计数器复位CNR(545)/CNRX(547)43第5章数据指令445.1 数据比较指令465.1.1 符号比较=、<>、<、<=、>、>=(S、L)(LD/AND/OR型)(300~328)465.1.2 时刻比较=DT、<>DT、<DT、<=DT、>DT、>=DT(LD/AND/OR型)(341~346)49 5.1.3 无符号比较CMP(020)/无符号倍长比较CMPL(060)505.1.4 带符号BIN比较CPS(114)/带符号BIN倍长比较CPSL(115)505.1.5 多通道比较MCMP(019)515.1.6 表格一致TCMP(085)515.1.7 无符号表间比较BCMP(068)525.1.8 扩展表间比较BCMP2(502)525.1.9 区域比较ZCP(088)/倍长区域比较ZCPL(116)535.2 数据传送指令545.2.1 传送MOV(021)/倍长传送MOVL(498)545.2.2 否定传送MVN(022)/否定倍长传送MVNL(499)545.2.3 位传送MOVB(082)555.2.4 数字传送MOVD(083)555.2.5 多位传送XFRB(062)565.2.6 块传送XFER(070)565.2.7 块设定BSET(071)575.2.8 数据交换XCHG(073)/数据倍长交换XCGL(562)575.2.9 数据分配DIST(080)575.2.1 0数据抽取COLL(081)585.2.1 1变址寄存器设定MOVR(560)/MOVRW(561)585.3 数据移位指令595.3.1 移位寄存器SFT(010)595.3.2 左右移位寄存器SFTR(084)595.3.3 非同步移位寄存器ASFT(017)605.3.4 字移位WSFT(016)605.3.5 1位左移位ASL(025)/1位倍长左移位ASLL(570)605.3.6 1位右移位ASR(026)/1位倍长右移位ASRL(571)615.3.7 带CY左循环1位ROL(027)/带CY倍长左循环1位ROLL(572)615.3.8 无CY左循环1位RLNC(574)/无CY倍长左循环1位RLNL(576)625.3.9 带CY右循环1位ROR(028)/带CY倍长右循环1位RORL(573)625.3.1 0无CY右循环1位RRNC(575)/无CY倍长右循环1位RRNL(577)625.3.1 11位左移位SLD(074)635.3.1 21位右移位SRD(075)635.3.1 3N位数据左移位NSFL(578)645.3.1 4N位数据右移位NSFR(579)645.3.1 5N位左移位NASL(580)/N位倍长左移位NSLL(582)655.3.1 6N位右移位NASR(581)/N位倍长右移位NSRL(583)655.4 数据转换指令665.4.1 BCD→BIN转换BIN(023)/BCD→BIN倍长转换BINL(058)665.4.2 BIN→BCD转换BCD(024)/BIN→BCD倍长转换BCDL(059)665.4.3 2的补数转换NEG(160)/2的补数倍长转换NEGL(161)675.4.4 符号扩展SIGN(600)685.4.5 4→16/8→256解码器MLPX(076)685.4.6 16→4/256→8编码器DMPX(077)695.4.7 ASCII代码转换ASC(086)705.4.8 ASCII→HEX转换HEX(162)705.4.9 位列→位行转换LINE(063)715.4.1 0位行→位列转换COLM(064)715.4.1 1带符号BCD→BIN转换BINS(470)725.4.1 2带符号BCD→BIN倍长转换BISL(472)735.4.1 3带符号BIN→BCD转换BCDS(471)745.4.1 4带符号BIN→BCD倍长转换BDSL(473)755.4.1 5格雷码转换GRY(474)765.5 数据控制指令775.5.1 PID运算PID(190)775.5.2 自带整定PID运算PIDAT(191)785.5.3 上下限限位控制LMT(680)795.5.4 死区控制BAND(681)805.5.5 死区控制ZONE(682)815.5.6 时分割比例输出TPO(685)815.5.7 定校比例SCL(194)825.5.8 定校比例2SCL2(486)835.5.9 定校比例3SCL3(487)835.5.1 0数据平均化AVG(195)845.6 表格数据处理指令855.6.1 栈区域设定SSET(630)855.6.2 栈数据存储PUSH(632)865.6.3 后进先出LIFO(634)865.6.4 先进先出FIFO(633)875.6.5 表区域声明DIM(631)875.6.6 记录位置设定SETR(635)885.6.7 记录位置读取GETR(636)885.6.8 数据检索SRCH(181)895.6.9 字节交换SWAP(637)895.6.1 0最大值检索MAX(182)905.6.1 1最小值检索MIN(183)915.6.1 2求和SUM(184)915.6.1 3FCS值计算FCS(180)925.6.1 4栈数据数输出SNUM(638)925.6.1 5栈数据参见SREAD(639)935.6.1 6栈数据更新SWRIT(640)935.6.1 7栈数据插入SINS(641)945.6.1 8栈数据删除SDEL(642)94第6章运算指令966.1 自加/自减指令(增量/减量指令)996.1.1 BIN增量++(590)/BIN倍长增量++L(591)996.1.2 BIN减量--(592)/BIN倍长减量--L(593)1006.1.3 BCD增量++B(594)/BCD倍长增量++BL(595)1016.1.4 BCD减量--B(596)/BCD倍长减量--BL(597)1026.2 四则运算指令1036.2.1 带符号?无CYBIN加法+(400)/带符号?无CYBIN倍长加法+L(401)103 6.2.2 符号?带CYBIN加法+C(402)/符号?带CYBIN倍长加法+CL(403)1046.2.3 无CYBCD加法+B(404)/无CYBCD倍长加法+BL(405)1056.2.4 带CYBCD加法+BC(406)/带CYBCD倍长加法+BCL(407)1056.2.5 带符号?无CYBIN减法-(410)/带符号?无CYBIN倍长减法-L(411)1066.2.6 符号?带CYBIN减法-C(412)/符号?带CYBIN倍长减法-CL(413)107 6.2.7 无CYBCD减法-B(414)/无CYBCD倍长减法-BL(415)1086.2.8 带CYBCD减法-BC(416)/带CYBCD倍长减法-BCL(417)1096.2.9 带符号BIN乘法*(420)/带符号BIN倍长乘法*L(421)1106.2.1 0无符号BIN乘法*U(422)/无符号BIN倍长乘法*UL(423)1116.2.1 1BCD乘法*B(424)/BCD倍长乘法*BL(425)1116.2.1 2带符号BIN除法/(430)/带符号BIN倍长除法/L(431)1126.2.1 3无符号BIN除法/U(432)/无符号BIN倍长除法/UL(433)1136.2.1 4BCD除法/B(434)/BCD倍长除法/BL(435)1146.3 逻辑运算指令1146.3.1 字逻辑积ANDW(034)/字倍长逻辑积ANDL(610)1146.3.2 字逻辑和ORW(035)/字倍长逻辑和ORWL(611)1156.3.3 字同或逻辑和XORW(036)/字倍长同或逻辑和XORL(612)1166.3.4 字异或XNRW(037)/字倍长异或XNRL(613)1166.3.5 位反转COM(029)/位倍长反转COML(614)1176.4 特殊运算指令1186.4.1 BIN平方根运算ROTB(620)1186.4.2 BCD平方根运算ROOT(072)1186.4.3 数值转换APR(069)1196.4.4 浮点除法(BCD)FDIV(079)1196.4.5 位计数BCNT(067)1206.5 浮点转换?运算指令1206.5.1 浮点→16位BIN转换FIX(450)1206.5.2 浮点→32位BIN转换FIXL(451)1216.5.3 16位BIN→浮点转换FLT(452)1216.5.4 32位BIN→浮点转换FLTL(453)1216.5.5 浮点加法+F(454)1226.5.6 浮点减法-F(455)1226.5.7 浮点乘法*F(456)1226.5.8 浮点除法/F(457)1236.5.9 角度→弧度转换RAD(458)1236.5.1 0弧度→角度转换DEG(459)1236.5.1 1SIN运算SIN(460)1246.5.1 2COS运算COS(461)1246.5.1 3TAN运算TAN(462)1246.5.1 4SIN?1运算ASIN(463)1256.5.1 5COS?1运算ACOS(464)1256.5.1 6TAN?1运算ATAN(465)1256.5.1 7平方根运算SQRT(466)1266.5.1 8指数运算EXP(467)1266.5.1 9对数运算LOG(468)1266.5.2 0乘方运算PWR(840)1276.5.2 1单精度浮点数据比较=F、<>F、<F、<=F、>F、>=F(LD/AND/OR型)(329~334)1276.5.2 2浮点<单>→字符串转换FSTR(448)1286.5.2 3字符串→浮点<单>转换FVAL(449)1296.6 (倍)双精度浮点转换?运算指令1306.6.1 浮点→16位BIN转换<倍>FIXD(841)1306.6.2 浮点→32位BIN转换<倍>FIXLD(842)1306.6.3 16位BIN→浮点转换<倍>DBL(843)1306.6.4 32位BIN→浮点转换<倍>DBLL(844)1316.6.5 浮点加法<倍>+D(845)1316.6.6 浮点减法<倍>-D(846)1316.6.7 浮点乘法<倍>×D(847)1326.6.8 浮点除法<倍>/D(848)1326.6.9 角度→弧度转换<倍>RADD(849)1326.6.1 0弧度→角度转换<倍>DEGD(850)1336.6.1 1SIN运算<倍>SIND(851)1336.6.1 2COS运算<倍>COSD(852)1336.6.1 3TAN运算<倍>TAND(853)1346.6.1 4SIN?1运算<倍>ASIND(854)1346.6.1 5COS?1运算<倍>ACOSD(855)1346.6.1 6TAN?1运算<倍>ATAND(856)1356.6.1 7平方根运算<倍>SQRTD(857)1356.6.1 8指数运算<倍>EXPD(858)1356.6.1 9对数运算<倍>LOGD(859)1366.6.2 0乘方运算<倍>PWRD(860)1366.6.2 1倍精度浮点数据比较=D、<>D、<D、<=D、>D、>=D(LD/AND/OR型)(335~340)136第7章子程序及中断控制指令1387.1 子程序指令1387.1.1 子程序调用SBS(091)1387.1.2 宏MCRO(099)1397.1.3 子程序进入SBN(092)/子程序返回RET(093)1407.1.4 全局子程序调用GSBS(750)1407.1.5 全局子程序进入GSBN(751)/全局子程序返回GRET(752)141 7.2 中断控制指令1427.2.1 中断掩码组MSKS(690)1427.2.2 中断掩码读取MSKR(692)1437.2.3 中断解除CLI(691)1447.2.4 中断任务执行禁止DI(693)1447.2.5 中断任务执行禁止解除EI(694)145第8章 I/O单元用和高速计数/脉冲输出指令1468.1 I/O单元用指令1478.1.1 I/O刷新IORF(097)1478.1.2 7段解码器SDEC(078)1478.1.3 数字式开关DSW(210)1488.1.4 10键输入TKY(211)1488.1.5 16键输入HKY(212)1498.1.6 矩阵输入MTR(213)1498.1.7 7段显示7SEG(214)1508.1.8 智能I/O读出IORD(222)1508.1.9 智能I/O写入IOWR(223)1518.1.1 0CPU高功能单元每次I/O刷新DLNK(226)1518.2 高速计数/脉冲输出指令1528.2.1 动作模式控制INI(880)1528.2.2 脉冲当前值读取PRV(881)1538.2.3 脉冲频率转换PRV2(883)1538.2.4 比较表登录CTBL(882)1548.2.5 频率设定SPED(885)1548.2.6 脉冲量设置PULS(886)1558.2.7 定位PLS2(887)1568.2.8 频率加减速控制ACC(888)1568.2.9 原点搜索ORG(889)1578.2.1 0PWM输出PWM(891)158第9章通信指令1599.1 串行通信指令1609.1.1 协议宏PMCR(260)1609.1.2 串行端口输出TXD(236)1609.1.3 串行端口输入RXD(235)1619.1.4 串行通信单元串行端口输出TXDU(256)1619.1.5 串行通信单元串行端口输入RXDU(255)1629.1.6 串行端口通信设定变更STUP(237)1639.2 网络通信用指令1639.2.1 网络发送SEND(090)1639.2.2 网络接收RECV(098)1649.2.3 指令发送CMND(490)1649.2.4 通用Explicit信息发送指令EXPLT(720)1659.2.5 Explicit读出指令EGATR(721)1659.2.6 Explicit写入指令ESATR(722)1669.2.7 ExplicitCPU单元数据读出指令ECHRD(723)1669.2.8 ExplicitCPU单元数据写入指令ECHWR(724)167第10章块指令16810.1 块程序指令16910.1.1 块程序BPRG(096)/块程序结束BEND(801)16910.1.2 块程序暂时停止BPPS(811)/块程序再启动BPRS(812)16910.1.3 带条件结束EXIT(806)/带条件结束(非)EXITNOT(806)17010.1.4 条件分支块IF(802)/条件分支块(非)IFNOT(802)/条件分支伪块ELSE(803)/条件分支块结束IEND(804)17010.1.5 1扫描条件等待WAIT(805)/1扫描条件等待(非)WAITNOT(805)171 10.1.6 定时等待TIMW(813)/TIMWX(816)17210.1.7 计数等待CNTW(814)/CNTWX(818)17310.1.8 高速定时等待TMHW(815)/TMHWX(817)17310.1.9 重复块LOOP(809)/重复块结束LEND(810)/重复块结束(非)LEND NOT(810)17410.2 功能块用特殊指令175变量类别获得GETID(286)175第11章字符串处理指令及特殊指令17611.1 字符串处理指令17611.1.1 字符串?传送MOV$(664)17611.1.2 字符串?连接+$(656)17711.1.3 字符串?从左读出LEFT$(652)17711.1.4 字符串?从右读出RGHT$(653)17811.1.5 字符串?从任意位置的读出MID$(654)17811.1.6 字符串?检索FIND$(660)17911.1.7 字符串?长度检测LEN$(650)17911.1.8 字符串?置换RPLC$(661)18011.1.9 字符串?删除DEL$(658)18011.1.1 0字符串?交换XCHG$(665)18111.1.1 1字符串?清除CLR$(666)18111.1.1 2字符串?插入INS$(657)18211.1.1 3字符串比较LD、AND、OR=$、<>$、<$、<=$、>$、>=$(670~675)182 11.2 特殊指令18311.2.1 置进位/清除进位STC(040)/CLC(041)18311.2.2 循环时间监视时间设定WDT(094)18411.2.3 条件标志保存CCS(282)/条件标志加载CCL(283)18411.2.4 CV→CS地址转换FRMCV(284)18511.2.5 CS→CV地址转换TOCV(285)186第12章其他指令18712.1 工序(程)步进控制指令188步梯形区域步进SNXT(009)/步梯形区域定义STEP(008)18812.2 显(表)示功能用指令189信息显示MSG(046)18912.3 时钟功能用指令19012.3.1 日历加法CADD(730)19012.3.2 日历减法CSUB(731)19012.3.3 时分秒→秒转换SEC(065)19112.3.4 秒→时分秒转换HMS(066)19112.3.5 时钟补正DATE(735)19212.4 调试处理指令192跟踪存储器取样TRSM(045)19212.5 故障诊断指令19312.5.1 运转持续故障诊断FAL(006)19312.5.2 运转停止故障诊断FALS(007)19412.5.3 故障点检测FPD(269)19512.6 任务控制指令19512.6.1 任务执行启动TKON(820)19512.6.2 任务执行待机TKOF(821)19612.7 机种转换用指令19712.7.1 块传送XFERC(565)19712.7.2 数据分配DISTC(566)19812.7.3 数据抽出COLLC(567)19912.7.4 位传送MOVBC(568)20012.7.5 位计数BCNTC(621)200。

第8章三菱FX2N系列PLC功能指令

第8章三菱FX2N系列PLC功能指令


3. 传送指令MOV
格式为: FNCl2 MOV[S.][D.] 。 其中[S.]为源数据,[D.]为目标软组件。该数据传送 指令的功能是将源数据传送到指定的目标。


4. 移位传送指令SMOV
格式为: FNC13 SMOV[S.]m1 m2[D.]n 。 该指令的功能是将源数据(二进制)自动转换 成4位BCD码,再进行移位传送,传送后的目标操 作数元件的BCD码可自动转换成二进制数。 只有 FX2N和FX2NC才具有该指令功能。
1.源操作数可取X、Y、M、S,目标操作数可 取Y、M、S。 2.只有16位操作移位指令示例梯形图
图8-5位左移位指令示例梯形图
8.4.4子程序指令 调用子程序指令CALL,编号为FNC01 子程序返回指令SRET,编号为FNC02 子程序调用指令CALL,操作数为P0~P127, 此指令占用3个程序步。 子程序返回指令SRET,无操作数,占用1个程 序步。 编程时子程序的标号应写在主程序结束指令 FEND之后, CALL子程序必须以SRET指令结束。如 图8-6所示, 当X000接通(当X000为ON时),CALL Pl0指令使程序执行Pl0子程序,在子程序执行到 SRET指令后程序返回到CALL指令的下一条指令处 执行。当X000断开(X000为OFF),则程序按顺序 执行。


1.功能指令的表示格式
大多数功能指令有1-4个操作数,有的功能指令 没有操作数;[S]表示源操作数, [D]表示目标操作数;如果可使用变址功能,用 [S.]和[D.]表示。用n和m表示其它操作数,它们常用 来表示常数K和H。 图8-1的含义:[(D0)+(D1)+(D2)]÷3→ (D10)

计算机组成原理第8章习题指导

计算机组成原理第8章习题指导

第8章CPU的结构和功能例8.1假设指令流水线分取指(IF)、译码(ID)、执行(EX)、回写(WR)四个过程段,共有10条指令连续输入此流水线。

(1)画出指令周期流程。

(2)画出非流水线时空图。

(3)画出流水线时空图。

(4)假设时钟周期为100ns,求流水线的实际吞吐率。

(5)求该流水处理器的加速比。

解:(1)根据指令周期包括IF、ID、EX、WR四个子过程,图8.1(a)为指令周期流程图。

(2)非流水线时空图如图8.1(b)所示。

假设一个时间单位为一个时钟周期,则每隔4个时钟周期才有一个输出结果。

(3)流水线时空图如图8.1(c)所示。

由图可见,第一条指令出结果需要4个时钟周期。

当流水线满载时,以后每一个时钟周期可以出一个结果,即执行完一条指令。

(a)指令周期流程(b) 非流水线时空图(c) 标准流水线时空图图8.1 例8.1答图(4)由图8.1(c)所示的10条指令进入流水线的时空图可见,在13个时钟周期结束时,CPU执行完10条指令,故实际吞吐率为:10/(100ns×13) ≈ 0.77×107条指令/秒(5)在流水处理器中,当任务饱满时,指令不断输入流水线,不论是几级流水线,每隔一个时钟周期都输出一个结果。

对于本题四级流水线而言,处理10条指令所需的时钟周期数为T4 = 4 +(10 −1)= 13。

而非流水线处理10条指令需4×10 = 40个时钟周期。

故该流水处理器的加速比为40 ÷13 ≈ 3.08 例8.2设某机有四个中断源1、2、3、4,其硬件排队优先次序按1→2→3→4降序排列,各中断源的服务程序中所对应的屏蔽字如表8.1所示。

表8.1 例8.2各中断源对应的屏蔽字中断源 屏蔽字1 2 3 41 1 1 0 12 0 1 0 03 1 1 1 14 0 1 0 1(1)给出上述四个中断源的中断处理次序。

(2)若四个中断源同时有中断请求,画出CPU执行程序的轨迹。

电气控制与PLC应用第8章习题与思考题参考解答

电气控制与PLC应用第8章习题与思考题参考解答

第5章S7-200 PLC的指令系统习题与思考题7-200指令参数所用的基本数据类型有哪些?:S7-200 PLC的指令参数所用的基本数据类型有1位布尔型(BOOL)、8位无符号字节型(BYTE)、8位有符号字节型(SIMATIC模式仅限用于SHRB指令)、16位无符号整数(WORD)、16位有符号整数(INT)、32位无符号双字整数(DWORD)、32位有符号双字整数(DINT)、32位实数型(REAL)。

实数型(REAL)是按照ANSI/IEEE 754-1985标准(单精度)的表示格式规定。

2~255字节的字符串型(STRING)即I/O指令有何特点?它应用于什么场合?:立即指令允许对输入和输出点进行快速和直接存取。

当用立即指令读取输入点的状态时,相应的输入映像寄存器中的值并未发生更新;用立即指令访问输出点时,访问的同时,相应的输出映像寄存器的内容也被刷新。

由于立即操作指令针对的是I/O端口的数字输入和数字输出信号,所以它们的位操作数地址只能是物理输入端口地址Ix.x和物理输出端口地址Qx.x。

辑堆栈指令有哪些?各用于什么场合?:复杂逻辑指令,西门子称为逻辑堆栈指令。

主要用来描述对触点进行的复杂连接,并可以实现对逻辑堆栈复杂的操作。

杂逻辑指令包括:ALD、OLD、LPS、LRD、LPP和LDS。

这些指令中除LDS外,其余指令都无操作数。

这些指令都是位逻辑指令。

装载与指令ALD用于将并联子网络串联起来。

装载或指令OLD用于将串联子网络并联起来。

辑推入栈指令LPS,在梯形图中的分支结构中,用于生成一条新的母线,左侧为主控逻辑块时,第一个完整的从逻辑行从此处开始。

辑读栈指令LRD,在梯形图中的分支结构中,当左侧为主控逻辑块时,该指令用于开始第二个和后边更多的从逻辑块。

辑栈弹出指令LPP,在梯形图中的分支结构中,用于恢复LPS指令生成的新母线。

入堆栈指令LDS,复制堆栈中的第n级值,并将该值置于栈顶。

《计算机组成原理》8-输入输出系统

《计算机组成原理》8-输入输出系统

允许中断3
INTA &
&
&
允许中断4 &
&
&
&
1
1
1
1
INTR1
INTR2
INTR3
( b) 串 行 优 先 链 中 断 排 队 线 路
INTR4
&
至下一级
≥1
INT
程序中断方式
2、中断的处理过程
✓ 软件排队的基本做法是:当CPU访问到 INT0

有中断请求时,则保留好中断断点后立
断 服
即进入软件排队程序的入口。从最高优
✓ 中断排队的实现 可以用硬件排队或软件排队两种方法来实现
➢ 硬件排队方式 硬件排队的基本特点是,优先级别高的中断源提出中 断请求后,就自动封锁优先级别较低的中断源的中断请求
➢ 软件排队方式 软件排队是通过编写查询程序实现的。
程序中断方式
2、中断的处理过程
➢ 硬排队方式 I N T R0
INTR1 1
程序直接控制方式
2、条件传送方式
✓ 通过程序查询接口中的状态来控制数据传送的方式,也被称为程序查询 方式。
✓ 程序查询方式中,在执行一次有效的数据传送操作之前,必须对外部设 备的状态进行查询,如果外部设备准备就绪,才能执行数据传送操作。
程序直接控制方式
2、条件传送方式
检查状态标记
N 准备就绪? Y 执行数据传送
I/O接口
1、接口的概念
✓ 介于主机与外部设备之间的一种缓冲电路称为I/O接口电路,简称I/O接口
(Interface)
✓ 对于主机,I/O接口提供了外部设备的工作状态及数据;对于外部设备,I/O

第八章CPU的结构和..

第八章CPU的结构和..

三、指令流水原理
1.顺序执行方式:串行执行
取指令 i
t取指令i
分析 i
t分析i
执行 i 取指令 i+1 分析 i+1
t执行i
执行 i+1
假设1:取指令、分析指令和执行指令所需时间分 别为t取指令、t分析和t执行。
结果1:执行n条指令所花的时间
T
(t
i 1
n
取指令i
t分析i t执行i )
取指令i 分 析i 取指令i+1 执 行i 分 析i+1 取指令i+2
t
执 行i+1 分 析i+2
t
t
执 行i+2
t
t
假设:如果指令执行的3个阶段所需时间均为△t。 结果: 二次重叠方式执行n条指令所需要的时间为:
T= 3△t+(n-1)△t =(2+n)△t
(3)指令执行阶段重叠执行,必须解决两个问题: 必须有独立的取指令部件、指令分析部件和指令 执行部件。 要解决访问主存冲突问题,通常有3种方法: 主存分成两个独立编址的存储器:一个是指 令存储器,专门存放指令;另一个是数据存储器, 专门存放数据。 主存采用低位交叉编址的并行存储器,在一个 存储周期中可以访问多个存储单元。 采用先行控制技术,这是解决访问冲突的根 本方法
SP →MAR →AB →M,PC →MDR →DB →M,入口地址→PC
地 址 总 线 MAR 数 据 总 线 控 制 总 线
CPU PC
存储器
CU
MDR
8.3
1. 2. 3.
指 令 流 水
一、如何提高机器速度 提高访存速度 高速芯片 Cache 中断 DMA 通道 改进算法 多体并行 I/O 处理机 快速进位链 多总线

《电气控制与PLC技术》教学大纲

《电气控制与PLC技术》教学大纲

《电气控制与PLC技术》教学大纲课程名称:电气控制与PLC技术课程编号:课程类别:专业方向课/必修课学时/学分:52/4开设学期:第六学期开设单位:物理与机电工程学院适用专业:电气工程及其自动化说明一、课程性质与说明1、课程性质专业方向课/必修课2、课程说明本课程使学生初步了解可编程控制器及其应用,掌握基本的工作原理和编程方法,了解和掌握在工厂自动化实践中使用可编程控制器进行应用系统设计的基本方法。

具体来说,使学生能够掌握PLC的基本原理,能够阅读PLC的程序,分析PLC控制系统,能够根据生产实际的需要,设计相应的PLC控制系统,编写相应的程序。

本课程应在《电工基础》、《电子技术》教学之后开设,本课程实践性强,学好这门课程的关键在于理论联系实际,讲授中应尽可能结合实物进行直观教学及多媒体教学,重视实践技能训练。

部分理论课进行现场教学,实践环节在实验实训室进行。

二、教学目标理解常用低压电器的符号、用途及电气参数,机床电气控制线路的基本环节;掌握机床电气控制原理图、接线图的读图与分析方法;掌握PLC工作原理、指令系统及应用。

具备正确分析电气器件故障原因初步能力,电气控制电路分析及读图能力,PLC中等复杂应用能力。

三、学时分配表四、教学教法建议以课堂讲授法为主,结合讨论法、演示法和任务驱动法,利用多媒体课件进行讲授。

五、课程考核及要求1.考核方式考试(√);考查()。

2.成绩评定计分制百分制(√);五级分制();两级分制()。

成绩构成总成绩=平时考核(10 )%+中期考核(20 )%+期末考核(70 )%。

第1章常用低压电器教学目标了解常用低压电器的分类及各种常用低压电器的典型产品及主要技术参数;熟悉各种常用低压电器的结构和工作原理;掌握各种常用低压电器的用途、图型符号、文字符号及其正确选用原则。

教学时数8学时教学内容绪论1.1 常用低压电器的分类1.2电磁式低压电器1.3 电磁式接触器1.4 电磁式继电器1.5 时间继电器1.6 速度继电器1.7 热继电器1.8 熔断器1.9低压断路器1.10主令电器教法建议课堂讲授法和演示法,利用多媒体课件进行讲授。

第8章-数控加工程序的后置处理

第8章-数控加工程序的后置处理

四.通用后置处理系统的原理及实现途径
1.通用后置处理
8.5 数控编程中的工艺策略
1、粗精加工的工艺选择 2、刀具的切入和切出引导 3、加工路线的确定及优化
1、粗精加工的工艺选择
刀具的选用
粗加工:是切除绝大部分多余材料,切削用量较大,刀具 负荷重,一般选用平底铣刀,刀具的直径尽可能选大。 精加工:是保证加工面精度要求,切削用量较小,刀具负 荷轻,根据加工表面形状可选择平底刀、球头刀或圆角铣 刀。应优先选用平底刀,应尽量选择圆角铣刀,而少用球 头刀。 在刀具直径选择上:先用大直径刀具完成大部分的曲面加 工,再用小直径刀具进行清角或局部加工。
加工路径的选择
粗加工:加工路径一般选择单向切削,可保证切削过程
稳定,可避免顺逆铣工作状态的变化。 精加工:切削力较小,对顺逆铣反映不敏感,加工路径 可采用双向切削,以减少空行程,提高切削效率。
进刀方式的选择
粗加工:主要考虑刀 具切削刃强度; 精加工:主要考虑被 加工表面质量。
铣刀端面刃切削能 力差,对于型腔加工 可采用斜角切入。
根据机床的脉冲当量值大小进行圆整, 有时还需换算成脉冲当数。
4).编排数控机床的指令格式。
N-G-X-Y-I-J-K-A-B-C等
8.3、后置处理算法简介
三.后置处理算法简介
1.带回转工作台的四坐标数控机床后置 处理算法原理 2. 五坐标数控机床后置处理算法原理
三.后置处理算法简介
1. 带回转工作台的四坐标数控机床后置处理算法
第8章 数控பைடு நூலகம்工程序的后置处理
8.1 基本概念
8.2 后置处理的一般过程
8.3 后置处理算法简介 8.4 通用后置处理系统的原理及实现途径 8.5 数控编程中的工艺策略

计算机组成原理唐朔飞PPT 第8章 CPU 的结构和功能

计算机组成原理唐朔飞PPT 第8章 CPU 的结构和功能

解决办法
• 停顿 指令 1 与指令 4 冲突 指令1、指令3、指令 6 冲突 • 指令存储器和数据存储器分开 … 指令 2 与指令 5 冲突 • 指令预取技术 (适用于访存周期短的情况)
8.3 指令流水
2. 数据相关
四、影响指令流水线性能的因素
不同指令因重叠操作,可能改变操作数的 读/写 访问顺序
R3 R3
;(R4)+(R5)
;(R2)× (R1) ;(R4) (R5) • 采用 旁路技术
解决办法
• 后推法
(定向技术、相关专用通路技术)
8.3 指令流水
3. 控制相关
由转移指令引起
LDA LDX M ADD INX CPX BNE DIV STA #N M #N ANS #0 #0 X, D
三、指令流水原理
2
DI FI
3
CO DI FI
4
FO CO DI FI
5
6
7
8
9
10
11
12 13
14
EI WO FO EI WO CO DI FI FO DI FI EI CO DI FI WO EI WO FO DI FI EI CO DI FI WO EI FO CO DI WO EI WO FO EI WO EI WO CO FO CO FO CO FO
5. 指令周期流程
取指周期 是
一、 基本概念
有间址吗? 否 执行周期
间址周期
有中断吗? 否
是 中断周期
8.2 指令周期
6. CPU 工作周期的标志
CPU 访存有四种性质
取 指令 取 地址 取 操作数 存 程序断点 FE
D CLK
一、 基本概念

2023年大学_电气控制与PLC应用技术(黄永红著)课后答案

2023年大学_电气控制与PLC应用技术(黄永红著)课后答案

2023年电气控制与PLC应用技术(黄永红著)课后答案电气控制与PLC应用技术(黄永红著)内容简介前言第1章常用低压电器1.1低压电器的定义、分类1.2电磁式电器的组成与工作原理1.2.1电磁机构1.2.2触点系统1.2.3灭弧系统1.3接触器1.3.1接触器的组成及工作原理1.3.2接触器的分类1.3.3接触器的主要技术参数1.3.4接触器的选择与使用1.3.5接触器的图形符号与文字符号1.4继电器1.4.1继电器的分类和特性1.4.3时间继电器1.4.4热继电器1.4.5速度继电器1.4.6固态继电器1.5主令电器1.5.1控制按钮1.5.2行程开关1.5.3接近开关1.5.4万能转换开关1.6信号电器1.7开关电器1.7.1刀开关1.7.2低压断路器1.8熔断器1.8.1熔断器的结构和工作原理 1.8.2熔断器的类型1.8.3熔断器的主要技术参数 1.8.4熔断器的选择与使用1.9.1电磁铁1.9.2电磁阀1.9.3电磁制动器习题与思考题第2章基本电气控制电路2.1电气控制电路的绘制原则及标准2.1.1电气图中的图形符号及文字符号2.1.2电气原理图的绘制原则2.1.3电气安装接线图2.1.4电气元件布置图2.2交流电动机的基本控制电路2.2.1三相笼型异步电动机直接起动控制电路 2.2.2三相笼型异步电动机减压起动控制电路 2.2.3三相绕线转子异步电动机起动控制电路 2.2.4三相笼型异步电动机制动控制电路2.2.5三相笼型异步电动机调速控制电路2.2.6组成电气控制电路的基本规律2.2.7电气控制电路中的保护环节2.3典型生产机械电气控制电路的分析2.3.1电气控制电路分析的基础2.3.2电气原理图阅读分析的方法与步骤 2.3.3c650型卧式车床电气控制电路的分析 2.4电气控制电路的一般设计法2.4.1一般设计法的主要原则2.4.2一般设计法中应注意的问题2.4.3一般设计法控制电路举例习题与思考题第3章可编程序控制器概述3.1plc的产生及定义3.1.1plc的产生3.1.2plc的定义3.2plc的发展与应用3.2.1plc的发展历程3.2.2plc的发展趋势3.2.3plc的应用领域3.3plc的特点3.4plc的分类3.4.1按结构形式分类3.4.2按功能分类3.4.3按i/o点数分类3.5plc的硬件结构和各部分的作用3.6plc的工作原理3.6.1plc控制系统的组成3.6.2plc循环扫描的工作过程3.6.3plc用户程序的工作过程3.6.4plc工作过程举例说明3.6.5输入、输出延迟响应3.6.6plc对输入、输出的处理规则习题与思考题第4章 s7-200 plc的系统配置与接口模块 4.1s7-200 plc控制系统的基本构成4.2s7-200 plc的输入/输出接口模块4.2.1数字量模块4.2.2模拟量模块4.2.3s7-200 plc的智能模块4.3s7-200 plc的系统配置4.3.1主机加扩展模块的最大i/o配置4.3.2i/o点数的扩展与编址4.3.3内部电源的负载能力4.3.4plc外部接线与电源要求习题与思考题第5章 s7-200 plc的基本指令及程序设计 5.1s7-200 plc的编程语言5.2s7-200 plc的数据类型与存储区域5.2.1位、字节、字、双字和常数5.2.2数据类型及范围5.2.3数据的存储区5.3s7-200 plc的编程元件5.3.1编程元件5.3.2编程元件及操作数的寻址范围5.4寻址方式5.5程序结构和编程规约5.5.1程序结构5.5.2编程的一般规约5.6s7-200 plc的基本指令5.6.1位逻辑指令5.6.2立即i/o指令5.6.3逻辑堆栈指令5.6.4取反指令和空操作指令5.6.5正/负跳变触点指令5.6.6定时器指令5.6.7计数器指令5.6.8比较指令5.6.9移位寄存器指令5.6.10顺序控制继电器指令5.7典型控制环节的plc程序设计5.7.1单向运转电动机起动、停止控制程序5.7.2单按钮起动、停止控制程序5.7.3具有点动调整功能的电动机起动、停止控制程序 5.7.4电动机的正、反转控制程序5.7.5大功率电动机的星-三角减压起动控制程序5.7.6闪烁控制程序5.7.7瞬时接通/延时断开程序5.7.8定时器、计数器的扩展5.7.9高精度时钟程序5.7.10多台电动机顺序起动、停止控制程序 5.7.11故障报警程序5.8梯形图编写规则习题与思考题第6章 s7-200 plc的功能指令及使用6.1s7-200 plc的基本功能指令6.1.1数据传送指令6.1.2数学运算指令6.1.3数据处理指令6.2程序控制指令6.2.1有条件结束指令6.2.2暂停指令6.2.3监视定时器复位指令6.2.4跳转与标号指令6.2.5循环指令6.2.6诊断led指令6.3局部变量表与子程序6.3.1局部变量表6.3.2子程序6.4中断程序与中断指令6.4.1中断程序6.4.2中断指令6.5pid算法与pid回路指令6.5.1pid算法6.5.2pid回路指令6.6高速处理类指令6.6.1高速计数器指令6.6.2高速脉冲输出指令习题与思考题第7章 plc控制系统设计与应用实例 7.1plc控制系统设计的内容和步骤 7.1.1plc控制系统设计的内容7.1.2plc控制系统设计的步骤7.2plc控制系统的硬件配置7.2.1plc机型的选择7.2.2开关量i/o模块的'选择7.2.3模拟量i/o模块的选择7.2.4智能模块的选择7.3plc控制系统梯形图程序的设计7.3.1经验设计法7.3.2顺序控制设计法与顺序功能图7.4顺序控制梯形图的设计方法7.4.1置位、复位指令编程7.4.2顺序控制继电器指令编程7.4.3具有多种工作方式的顺序控制梯形图设计方法7.5plc在工业控制系统中的典型应用实例7.5.1节日彩灯的plc控制7.5.2恒温控制7.5.3基于增量式旋转编码器和plc高速计数器的转速测量习题与思考题第8章 plc的通信及网络8.1siemens工业自动化控制网络8.1.1siemens plc网络的层次结构8.1.2网络通信设备8.1.3通信协议8.2s7-200串行通信网络及应用8.2.1s7系列plc产品组建的几种典型网络8.2.2在编程软件中设置通信参数8.3通信指令及应用8.3.1网络读、写指令及应用8.3.2自由口通信指令及应用习题与思考题第9章 step7-micro/win编程软件功能与使用 9.1软件安装及硬件连接9.1.1软件安装9.1.2硬件连接9.1.3通信参数的设置和修改9.2编程软件的主要功能9.2.1基本功能9.2.2主界面各部分功能9.2.3系统组态9.3编程软件的使用9.3.1项目生成9.3.2程序的编辑和传送9.3.3程序的预览与打印输出9.4程序的监控和调试9.4.1用状态表监控程序9.4.2在run方式下编辑程序9.4.3梯形图程序的状态监视9.4.4选择扫描次数9.4.5s7-200的出错处理附录附录a常用电器的图形符号及文字符号附录b特殊继电器(sm)含义附录c错误代码附录ds7-200可编程序控制器指令集附录e实验指导书附录f课程设计指导书附录g课程设计任务书附录h台达pws1711触摸屏画面编辑简介参考文献电气控制与PLC应用技术(黄永红著)目录《电气控制与plc应用技术》从实际工程应用和教学需要出发,介绍了常用低压电器和电气控制电路的基本知识;介绍了plc的基本组成和工作原理;以西门子s7-200 plc为教学机型,详细介绍了plc的系统配置、指令系统、程序设计方法与编程软件应用等内容;书中安排了大量工程应用实例,包括开关量控制、模拟量信号检测与控制、网络与通信等具体应用程序。

计组课后习题答案

计组课后习题答案

计算机组成原理习题参考答案仅供参考,与考试无直接关联第一章计算机系统概论习题参考答案1.比较数字计算机和模拟计算机的特点。

解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。

两者主要区别见P1 表1.1。

2.数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。

通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。

分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。

通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。

3.数字计算机有那些主要应用?(略)4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。

存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。

主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。

5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。

单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。

数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。

指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。

6.什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。

程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。

7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。

汇编语言程序设计教程第4版课件第8章

汇编语言程序设计教程第4版课件第8章
2018/9/26 汇编语言程序设计教程 13
与宏有关的操作符
(1)连接操作符(&) • 在宏定义中,可以用连接操作符&作为形参的前 缀或后缀。在宏展开时,&符前后的两个符号连 接在一起构成一个新的符号。这个连接的功能对 修改某些符号是很有用的。 (2)字符串传递操作符(< >) • 在宏调用时,若某个实参中包含逗号或空格等间 隔符,则必须用字符串传递操作符将该实参括起 来,以保证其完整性。这样就可以将该实参作为 一个单一的参数而不是多个参数了。
2018/9/26 汇编语言程序设计教程 3
宏定义与宏调用
• 宏是具有宏名的一段汇编语句序列。宏的 定义相当于C语言中的预定义语句DEFINE, 定义一个标识符来代表一组指令序列。 • 在汇编时,汇编程序用对应的代码序列替 代宏指令。
2018/9/26
汇编语言程序设计教程
4
宏定义的格式
宏定义是用一组伪指令来实现的。其格式是:宏名 MACRO [形式参数表] ┇ (宏体) ENDM
2018/9/26 汇编语言程序设计教程 17
定义宏库的原则
• • • • • 宏尽量具有通用性; 宏定义中的标号必须用 LOCAL 伪指令说明; 要对宏中使用的每一个寄存器进行保护; 附有必要的使用说明; 宏库文件是文本文件,其扩展名无严格限 制,可由用户定义。
2018/9/26
汇编语言程序设计教程
2018/9/26 汇编语言程序设计教程 25
不定重复汇编伪指令IRP
IRP的格式为: IRP 形参,<参数表> ┇ (重复体) ENDM • IRP的功能是使汇编程序对重复体作重复汇编,汇编时, 依次将参数表中的参数取出代替形参,重复汇编的次数等 于参数表中参数的个数。 • IRP 和 ENDM 必须成对出现,重复体部分的语句序列的重 复次数由参数表中的参数个数决定,参数之间应用逗号分 隔,用参数表中的参数取代形参后得到的应该是有效的指 令序列。

单片机基础(第3版——第8章

单片机基础(第3版——第8章
利用串行工作方式0, 加上“并入串出”或“串入并出” 芯片的配合, 80C51的串行口可实现数据的并行输入
/输出。 方式0实现数据并行输入/输出“并入串出”芯片 (74165)用于பைடு நூலகம்并行输入数据通过移位形成位串, 传送
给串行口;而“串入并出”芯片(74164)则接收串 行口的串行数据, 通过移位形成8位并行数据输 出。
80C51串行口寄存器结构
8.2.2 串行口控制机制
80C51串行口通过控制寄存器、中断功能和波特率设置实现串行通 信控制。
1.串行口控制寄存器(SCON)-98H
■ SM0、SM1——串行口工作方式选择位。其状态组合所对应的 工作方式为:
■ SM0SM1=00,工作方式0;SM0SM1=01,工作方式1; SM0SM1=10,工作方式2;SM0SM1=11,工作方式3。
工作方式0时, 移位操作(串入或串出)的波特率是固定的, 为单片机晶振频率的1/12, 若晶振频率用fosc表示, 则波特率=fosc/12。按此波特率的一个机器周期进行 一次移位, 若fosc=6 MHz, 则波特率为500 kb/s, 即 2 μs移位一次。
利用串行口方式0实现数据并行输入/输出
8.3.3 串行工作方式2 和3
串行工作方式2和3都是11位为一帧的串行通信方式, 即 1个起始位、9个数据位和1个停止位。
在这两种工作方式下, 字符还是8个数据位, 只不过增 加了一个第9数据位(D8), 它是一个可编程位, 其 功能由用户设定。
在发送数据时, 应予先在串行口控制寄存器SCON的 TB8 位中把第9个数据位的内容准备好。
单片机基础(第3版)
第8章 80C51单片机串行通信
1. 串行通信基础知识 2. 80C51串行口 3. 80C51串行口工作方式 4. 串行通信数据传输速率 5. 串行通信应用

S7-200 系列PLC

S7-200 系列PLC

第8章 S7-200 系列PLC
8.2.4 程序控制指令
1.系统程序控制指令 1)结束指令 END、MEND 2)暂停指令 STOP 3)看门狗复位指令 WDR 2.跳转、循环指令 1)跳转指令 JMP 2)循环指令 FOR 3.子程序指令 1)建立子程序 2)子程序调用指令和子程序返回指令 3)带参数的子程序调用指令 4.顺序控制指令 1)顺序功能流程图 2)顺序控制指令的格式与功能
第8章 S7-200 系列PLC
8.1 S7-200PLC系统构成
从CPU模块的功能来看,SIMATIC S7-200系列小型可编程序控制器的发 展,大致经历了两个阶段。
第一阶段产品的CPU模块为CPU 21X,并有 CPU 212,CPU 214,CPU
215和CPU 216这四种不同的CPU单元,这四种主机都可进行扩展。 第二阶段产品的CPU模块为CPU 22X,这一阶段的产品在21世纪初投放
西门子公司作为世界上最早生产PLC的厂家之一,其产品 得到了用户的广泛认可。S7-200系列PLC是其公司的主要产品,
它以紧凑的结构、良好的扩展性、强大的功能指令、低廉的价
格,已成为当代各种小型控制工程的理想控制器。本章将以西 门子公司的S7-200 CPU 22X系列PLC为例,对PLC系统的硬件 及内部资源,基本指令的定义、梯形图、和语句表的编程方法 以及PLC的功能指令进行讲解。
是设备选型的重要依据。
第8章 S7-200 系列PLC
8.1.2 PLC的内部元器件 PLC是以微处理器为核心的电子设备,C内部设计了编程时所需的各种 元器件。PLC与继电器控制的根本区别在于PLC所采用的不是实实在在的 器件,而是软器件,用程序的方式实现各器件之间的连接。 1.S7-200的主要编程元件 1)输入继电器 2)输出继电器 3)变量存储器 4)辅助继电器 5)特殊继电器 6)局部变量存储器 7)定时器 8)计数器 9)高速计数器 10)累加器 11)状态继电器 12)模拟量输入寄存器/输出寄存器 2.元器件编程范围 可编程控制器的硬件结构是软件编程的基础 。

Linux教程第8章 Bourn Again Shell编程

Linux教程第8章 Bourn Again Shell编程

第8章Bourn Again Shell编程实验目的●学习理解Bourne Again shell脚本的基本概念●学习理解Bourne Again shell脚本的执行过程●学习理解shell变量的概念及使用方法●学习理解Bourne Again shell 脚本的命令行参数传递●学习理解Bourne Again shell 脚本命令替换的概念●学习使用Bourne Again shell 基本语句编写脚本●学习理解Bourne Again shell 是如何处理数值数据的●学习使用Bourne Again shell 中的数组、函数和信号●学习利用文件描述符进行文件I/O操作●学习如何调试Bourne Again shell 脚本实验指导shell既是命令解释程序,又是一种高级程序设计语言。

shell是解释型语言,这使得调试工作比较容易进行,因为你可以逐行地执行指令,而且节省了重新编译的时间。

然而,这也使得shell不适合用来完成时间紧迫型和处理器忙碌型的任务。

一个shell程序(又称为shell脚本),包含了要由shell执行的命令并存放在普通的Linux文件中。

shell允许使用一些读写存储区,为用户和程序设计人员提供一个暂存数据的区域,这通常被称为shell变量。

shell也提供程序流程控制命令,称为语句,它提供了对shell脚本中的命令进行非顺序执行或循环执行的功能。

在Linux系统中,作为/bin/sh安装的标准shell是GNU工具集中的bash(GNU Bourne-Again Shell)。

因为它作为一个优秀的shell,总是安装在Linux系统上,而且它是开源的并且可以被移植到几乎所有的类UNIX系统上。

在本章中,我们假设你的登录系统所使用的默认shell是作为/bin/sh安装的shell。

在大多数Linux发行版中,默认的shell程序/bin/sh实际上是对程序/bin/bash的一个符号连接。

第8章 LPC程序控制指令及应用

第8章 LPC程序控制指令及应用

条件跳转指令用 于程序初始化
四、条件跳转指令的应用实例
X010
FNC 00 CJ 手动程序
P8 LD CJ P9 X010 P8 P8 自动程序 P9 END
X010
FNC 00 CJ
手动程序 LDI CJ X010 P9
P8 P9
自动程序 END 图8-5
手动/自动转换程序
第八章
FX2N系列PLC
程序控制指令及应用
第一节 条件跳转指令及应用
一、条件跳转指令的要素和含义
表8-1
指令名 称 条件跳 转 助记符 指令代 码位数 CJ CJ(P) FNC00 (16)
条件跳转指令要素
操作数 [ D·] P0~P63 P63即END CJ和 令的使用说明
1.使用条件跳转指令的几点注意
①由于跳转指令具有选择程序段的功能。在同一程序 且位于因跳转而不会被同时执行程序段中的同一线圈 不被视为双线圈。 ②可以有多条跳转指令使用 同一标号。
图8-2
二条跳转指令使用同一标号
③标号可以设在相关的跳转指令之后或之前。 ④使用CJ(P)指令时,跳转只执行一个扫描周期,但若用辅 助继电器 M8000作为跳转指令的工作条件,跳转就成为无条件 跳转。 ⑤跳转可用来执行程序初始化工作。 ⑥在编写跳转程序的指令表时,标号需占一行。
含 义
在满足跳转条件之后的各个扫描周期中, PLC将 不再扫描执行跳转指令与跳转指针PΔ间的程序,即跳 到以指针PΔ为入口的程序段中执行。直到跳转的条 件不再满足,跳转停止进行。
条件跳转指令使用说明
二、跳转程序段中元器件在跳转执行中的工作状态
①处于被跳过程序段中的输出继电器、辅助继电器、状态 器的工作状态将保持跳转发生前的状态不变。 ②被跳过程序段中的时间继电器及计数器,跳转发生后其 计数、计时值保持不变 ,在跳转中止 ,程序接续执行时 , 计时计数将继续进行。

第8章程序控制指令

第8章程序控制指令
合条件为真时,执行子程序
只有当一个或多个输入逻辑 组合条件为真时,仅在一次
扫描过程中执行子程序
例题8.3
设一个生产系统的PLC程序在检测到15个 错误条件的任一个,都将锁定一个位,从 而停止生产系统。
要求设计一个报警系统,当错误发生时 红色指示灯亮2秒,暗1秒。若60秒内没有 人按下复位按钮,则再加入蜂鸣器报警。 因15个位置中任一个检测到错误都要调用 报警逻辑,所以需要将报警逻辑编写成子 程序形式,以便于调用。
目的
提供子程序和程序扫描相关的不同程序控制指 令的整体概述
介绍SLC和Logix系统的程序控制指令 说明程序控制指令如何应用于自动化系统的
PLC程序中
目标
解释程序控制指令功能 描述子程序的操作 解释立即输入和输出指令的功能 描述清除指令的操作 画出并描述使用程序控制指令表达的应用梯形图 使用SLC及Logix系统的程序控制指令,开发梯形
8.3.2 跳转和标记区域控制指令
跳转(JMP)输出指令和输入标记(LBL) 指令一起使用,标记指令确定跳转指令的目 的梯级。
SLC系列PLC中的标记为Q2:(0~255),而 Logix系列使用不大于40个字符的文本标记
使用跳转指令注意事项:
编程使用跳转指令应特别小心,不要因跳转返回 指令使程序滞留在循环内太长时间而触发看门狗
确认LBL指令是梯级中的第一个输入指令 千万不要将跳转指令编写到MCR区域中
程序梯形图梯级 扫描
跳转
没有 扫描 的程 序段
跳转目的
跳转和标记指令的标准梯形图
SLC系列 向前跳转 被跳转指令跳过的梯形图梯级
Logix系列 向前跳转
被跳转指令跳过的梯形图梯级
向后跳转 因为跳转指令而重复的梯形图梯级 标记多跳转指令对应单一标记
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
只有当一个或多个输入逻辑组 合条件为真时,执行子程序
只有当一个或多个输入逻辑 组合条件为真时,仅在一次 扫描过程中执行子程序
• 例题8.3 设一个生产系统的PLC程序在检测到15个错误条件的任一 个,都将锁定一个位,从而停止生产系统。 要求设计一个报警系统,当错误发生时红色指示灯亮 2秒,暗1秒。若60秒内没有人按下复位按钮,则再加入蜂 鸣器报警。因15个位置中任一个检测到错误都要调用报警 逻辑,所以需要将报警逻辑编写成子程序形式,以便于调 用。
MCR为假 即使梯级条件为真, 输出被复位
计数器累计值 被保持
锁存输出被保持
• 例题8.1 设计一个梯形图程序, 在一个梯形图程序执 行之前使用一个MCR 指令和一个初始化按 钮(I:1/2)来初始化 一个计数器和定时器 的预置值。计数器和 定时器的预置值分别 放在N7:1和N7:2中。
8.3.2 跳转和标记区域控制指令
JSR、SBR和RET指令
• 需要子程序相关指令的情况
– 将一个程序的梯形逻辑划分为小程序块 – 在子程序中隔离频繁使用的梯形图,然后在主梯形图中大量不同 的位置上执行它们 – 将数据传递到另外的程序中,并执行包含这些数据的计算 – 从其它程序返回结果,并能够用在主程序中 – 通过将控制逻辑分成若干块,仅在需要时由主程序调用,以减小 扫描时间及梯形图梯级数量
T4:0(1s)和T4:1(2s) 轮流计时,计时周期为3s。
T4:1计时期间指示灯亮, T4:0计时期间灯暗
T4:2完成(60s) 后,蜂鸣器报警
按下复位按钮,所 有Байду номын сангаас时器复位
主程序
在B3:0/2复位前, 报警子程序先执行, 定时器被复位
• 子程序和返回指令的标准梯形图 虽没有说明,但是文件处于子 程序位置,是默认的子程序 子程序其他梯级
8.3.1 主控复位指令
• 电子机械主控继电器
– 右图为一个硬接线主控继电器 梯形图 – 梯级1和2一直运行 – 梯级4~31仅当梯级1中的MCR 接触器线圈通电时才运行 1 2 3 4 MCR L1
LS1
LS2
MCR
L2
PL1 MCR
硬接线电路 硬接线电路
LS25 CR30
30
31
……
• PLC主控复位指令和标准梯形图
JMP和LBL指令
• JMP使用它条件
– – – – – 控制一个整体程序或一些梯级在程序中的扫描频率 当梯形块不扫描时,保留JMP区域中所有输出的状态 从梯形图中多点跳转到一个共同的标记梯级中 在一个梯形图中向前或向后跳转 停止一个计数器的操作,即使输入逻辑改变,计数器累加值保留 现有数字,停止增加。当MCR激活时,从ACC当前值开始计数
8.4 A-B的立即输入和立即输出指令
• 当PLC程序扫描到立即输入或立即输出指令时,中断程序, 进行输入或输出数据更新;完成更新后,程序返回到中断 点继续执行之后的程序。原理如图所示。
读输入
立即I/O指令
I/O映象表
写输出 程序扫描 逻辑 扫描
x y
数据交换
x y
处理器驻 留机架
8.4.2 SLC的立即输入和输出指令
第8章 程序控制指令
• • • • • • • 8.1 8.2 8.3 8.4 8.5 8.6 8.7 目的及目标 程序控制指令 Allen-Bradley的程序控制指令 Allen-Bradley的立即输入和输出指令 带有程序控制指令的经验设计 对梯形图的程序控制指令进行故障诊断 指令的位置
7.1 目的及目标
IIM、IOM和IOT指令
• 以下场合可以考虑使用立即I/O指令
– 不等到扫描循环到达映象表更新点时就将现场设备的数据移到输 入映象表 – 在带有IIM指令的梯级被扫描后,立即中断扫描过程并只输入屏 蔽部分的数据字 – 在带有IOT或IOM的指令被扫描后,立即中断扫描过程并移动数 据字
8.6 故障诊断
模块4终端号
模块3终端号
L1
机器人1 的光幕
0
0——
1—— 2—— 3—— 4——
0000 0000 0100 0011
机器人1 的伺服 机器人1 指示灯 机器人2 的伺服 机器人2 指示灯 机器人3 的伺服 机器人3 指示灯 蜂鸣器
I:1/1
1 I:1/2
机器人2 的光幕
机器人3 的光幕
2 I:1/3
• 建议诊断方法
– 在MCR和JMP梯级的输入逻辑中使用恒假(AFI)指令来限制MCR 区域和JMP区域的梯形图梯级,直到程序的主要部分能进行正常操 作 – 使用TND或SUS指令,在程序分支之后立即停止MCR或JMP、JSR 指令,以检查引起分支的条件 – 使用单步模式对对梯形图部分模块没有正常工作的情况进行故障诊 断 – 在单步模式中使用断点,向下执行梯形图直到插入断点的部分
8.2 程序控制指令
• 程序控制指令在一个PLC梯形程序中,引导着操作流程以 及指令的执行顺序
– 当满足程序条件时,就可以跳过程序的一部分或不扫描这些梯级, 使得这些特定的程序组或者分区中的输出保持不变 – 程序控制指令允许PLC有效地执行用户编写的程序,使其只在特定 的自动控制条件出现时才执行 – 程序控制指令改变了程序扫描时间,因此优化了整体系统的响应
• 目的
– 提供子程序和程序扫描相关的不同程序控制指令的整体概述 – 介绍SLC和Logix系统的程序控制指令 – 说明程序控制指令如何应用于自动化系统的PLC程序中
• 目标
– – – – – – – – 解释程序控制指令功能 描述子程序的操作 解释立即输入和输出指令的功能 描述清除指令的操作 画出并描述使用程序控制指令表达的应用梯形图 使用SLC及Logix系统的程序控制指令,开发梯形图解决方案 在经验设计过程中,使用程序控制指令和立即输入及输出指令 对带有程序控制指令和立即输入及输出指令的梯形图梯级,进行故 障诊断
8.7 指令位置
第8章 程序控制指令
本章结束
子程序其他梯级
使用SBR指令来标记子程序开始,RET 指令标记子程序结束。是推荐用法
使用SBR指令来标记子程序开 始,RET指令标记子程序结束。 子程序有多条返回指令
子程序其他梯级2
子程序其他梯级2
8.3.5 Logix的子程序指令选项
• 子程序建立过程与SLC类似,如下图所示
• 调用子程序指令可以用参数来传递标签数据。 • 必须注意JSR指令中的Input Par参数类型及数目 必须与SBR指令中的Input Par相同; • JSR指令中的Return Par参数必须与子程序RET 指令的Return Par具有相同的参数类型及数目
子程序的操作过程
主程序梯级
(SBR)
子程序梯级
(JSR)
(RET)
子程序的嵌套调用
主程序
(SBR file 7) (SBR file 8) (SBR file 9)
(JSR file 8) (JSR file 7)
(JSR file 9)
(RET)
(RET)
(RET)
在SLC系列中,子程序编号为U:n,n=3~255 在Logix系列中,可以对子程序象标签一样进行命名 注意执行子程序期间,主程序不被扫描,I/O扫描被延时
• 跳转(JMP)输出指令和输入标记(LBL)指令一起使用, 标记指令确定跳转指令的目的梯级。 • SLC系列PLC中的标记为Q2:(0~255),而Logix系列使用 不大于40个字符的文本标记 • 使用跳转指令注意事项:
– 编程使用跳转指令应特别小心,不要因跳转返回指令使程序滞留在 循环内太长时间而触发看门狗 – 确认LBL指令是梯级中的第一个输入指令 – 千万不要将跳转指令编写到MCR区域中
8.3 A-B的程序控制指令
• 本节讨论一下程序控制指令
– 主控复位指令MCR 成对使用,包含着一组可以被执行或被取消 的指令 – 跳转指令JMP和标记指令LBL 一起使用。当一个JMP被激活时, 程序跳转到带有LBL指令的梯级中。
• 向前跳转:跳过梯形图梯级 • 向后跳转:重新扫描梯形图梯级
– 跳转子程序JSR、子程序SBR、返回RET指令
• (带屏蔽)立即输入指令:IIM • (带屏蔽)立即输出指令:IOM • 标准梯形图
8.4.3 Logix的立即输出指令
• Logix控制器只有立即输出指令IOT,这跟控制器 的异步扫描工作方式有关
ControlLogix 控制器 逻辑 / 数据内存
程序源代码 标签数据 RSLinx 标签组列表
程序梯形图梯级 扫描
跳转
没有 扫描 的程 序段
跳转目的
跳转和标记指令的标准梯形图
SLC系列 向前跳转
被跳转指令跳过的梯形图梯级
Logix系列 向前跳转
被跳转指令跳过的梯形图梯级
向后跳转
因为跳转指令而重复的梯形图梯级
标记多跳转指令对应单一标记
被跳转指令跳过的梯形图梯级
因为跳转指令而重复的梯形图梯级
共享的 I/O 内存 逻辑 CPU
I/O 数据
信息 缓冲区
I/O 强制表
生产者 / 消费者标签
背板 CPU
• 例题8.6 产品装配系统有3个机器人和其他机械装配不同产品。机 器人工作时不能有人进入。机器人光幕检测到有人进入时: 1.关闭进人的机器人伺服电源(接通控制柜里对应的继电器) 2.在生产区域中打开蜂鸣器 3.当闯入光幕时,机器人红色报警灯亮
子程序说明指令 调用指令
子程序返回指令
例题8.5
• 生产区域有3个指示灯:绿色为正常,黄色为小错误,红 色为大错误。闪烁时间长短由主程序调用参数决定。手动 复位将所有状态位返回假状态。 • 子程序中以On_timer.TT作为指示灯亮的激活条件。(书 上是Off_timer.DN,这回有什么问题?)
相关文档
最新文档