plc中状态字什么时候用,起什么作用啊?
答案:4 悬赏:80 手机版
解决时间 2021-11-25 22:40
- 提问者网友:姑娘长的好罪过
- 2021-11-25 04:45
plc中状态字什么时候用,起什么作用啊?
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-11-25 05:25
状态字用于表示CPU执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测他们。
状态字的结构如下:
(1) 首位检测位(/FC)
状态字的位0称为首位检测位。若/FC位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1被称为首位检测结果。/FC位在逻辑串的开始时总是0,在逻辑串指令执行过程中/FC位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将/FC清0。
(2) 逻辑操作结果(RLO)
状态字的位1称为逻辑操作结果RLO(Result of Logic Operation)。该位存储逻辑指令或算术比较指令的结果。在逻辑串中,RLO位的状态能够表示有关信号流的信息。RLO的状态为1,表示有信号流(通);为0,表示无信号流(断)。可用RLO触发跳转指令。
(3) 状态位(STA)
状态字的位2称为状态位。状态位不能用指令检测,它只是在程序测试中被CPU解释并使用。如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读或写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA位没有意义,此时它总被置为1。
(4) 或位(OR)
状态字的位3称为或位(OR)。在先逻辑“与”后逻辑“或”的逻辑串中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其它指令将OR位清0。
(5) 溢出位(OV)
状态字的位4称为溢出位。溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错误:溢出、非法操作、不规范格式)。后面的算术运算或浮点数比较指令执行结果正常的话OV位就被清0。
(6) 溢出状态保持位(OS)
状态字的位5称为溢出状态保持位(或称为存储溢出位)。OV被置1时OS也被置1;OV被清0时OS仍保持。所以它保存了OV位,可用于指明在先前的一些指令执行中是否产生过错误。只有下面的指令才能复位OS位:JOS(OS=1时跳转);块调用指令和块结束指令。
状态字的结构如下:
(1) 首位检测位(/FC)
状态字的位0称为首位检测位。若/FC位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1被称为首位检测结果。/FC位在逻辑串的开始时总是0,在逻辑串指令执行过程中/FC位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将/FC清0。
(2) 逻辑操作结果(RLO)
状态字的位1称为逻辑操作结果RLO(Result of Logic Operation)。该位存储逻辑指令或算术比较指令的结果。在逻辑串中,RLO位的状态能够表示有关信号流的信息。RLO的状态为1,表示有信号流(通);为0,表示无信号流(断)。可用RLO触发跳转指令。
(3) 状态位(STA)
状态字的位2称为状态位。状态位不能用指令检测,它只是在程序测试中被CPU解释并使用。如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读或写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA位没有意义,此时它总被置为1。
(4) 或位(OR)
状态字的位3称为或位(OR)。在先逻辑“与”后逻辑“或”的逻辑串中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其它指令将OR位清0。
(5) 溢出位(OV)
状态字的位4称为溢出位。溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错误:溢出、非法操作、不规范格式)。后面的算术运算或浮点数比较指令执行结果正常的话OV位就被清0。
(6) 溢出状态保持位(OS)
状态字的位5称为溢出状态保持位(或称为存储溢出位)。OV被置1时OS也被置1;OV被清0时OS仍保持。所以它保存了OV位,可用于指明在先前的一些指令执行中是否产生过错误。只有下面的指令才能复位OS位:JOS(OS=1时跳转);块调用指令和块结束指令。
全部回答
- 1楼网友:何以畏孤独
- 2021-11-25 08:42
给你看个介绍吧~~
推荐一本书《S7-300-400应用技术》
- 2楼网友:拾荒鲤
- 2021-11-25 07:23
状态字用于表示CPU执行指令时所具有的状态。
一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测他们。
状态字的位0称为首位检测位。若位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1被称为首位检测结果。 位在逻辑串的开始时总是0,在逻辑串指令执行过程中 位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将 清0
一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测他们。
状态字的位0称为首位检测位。若位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1被称为首位检测结果。 位在逻辑串的开始时总是0,在逻辑串指令执行过程中 位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将 清0
- 3楼网友:三千妖杀
- 2021-11-25 05:43
我学的是西门子的 不太懂你说的这个 说错了别误导你
你说的CC0 CC1是高速计数器吧 我学的西门子是HCS0 HCS1
也同样用到状态字 这个从表面字眼理解就是 状态嘛 因为布尔类型只有两种状态0和1,所以设置在特殊存储器中的(西门子的是SMB37、SMB67分别是8位 不太清楚你的是多少)每一位0和1代表你设置的状态
我也是初学 这是我的理解 希望对你有微小的帮助
加油
你说的CC0 CC1是高速计数器吧 我学的西门子是HCS0 HCS1
也同样用到状态字 这个从表面字眼理解就是 状态嘛 因为布尔类型只有两种状态0和1,所以设置在特殊存储器中的(西门子的是SMB37、SMB67分别是8位 不太清楚你的是多少)每一位0和1代表你设置的状态
我也是初学 这是我的理解 希望对你有微小的帮助
加油
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯