关于模块检测程序

这是一段选自2000年版s7-200可编程控制器系统手册的一段例程,例程为模拟量处理:
SBR     1
LDB=   SMB8,   16#19
NOT
S       Q1.0,  1
LDB=   SMB9,   16#00
NOT
AB=     SMB9,   16#04
S       Q1.1   1
RET
以上子程序按书中所说,为检查模拟量处理扩展模块是否存在及电源是否存在故障,问题如下:
1. 在特殊寄存器中,表示模块是否存在是它的第8位,即smb8的m位,0表示存在,1表示不存在,那么比较指令应该是判断m位是否等于0,可为什么是16进制数的19那。同样,smb9判断的是第1位和第2位即t位和f位,是否为0或1,可为什么是16进制数的00和04。
2. 在这段程序里不应该有RET指令,因为这个指令都是有条件返回指令,可这段程序是无条件返回,程序会自动执行的。而且如果把这段程序用软件写下来,在编译时这条语句会发生错误。
3. smb9判断的第1位和第2位即t位和f位,出现错误时都是1,可第1位加了取反指令,第2位也应该加呀,为什么未加,另外,两种错误信号,应该是或的关系呀?
因为是西门子的官方手册,请各位朋友帮忙判断一下,是我错了,还是手册错啦!这段程序可以拿过来直接用吗?

最佳答案

1. 可为什么是16进制数的19?
SMB8为模块ID寄存器,各位意义详见系统说明书。19表示模板为模拟量,且为4AI,2AQ.
16进制数的19,即0001  1001(m t t a   i i q q):
a=1为模拟量;
ii=10为4AI;
qq=01为2AQ

SMB9,   16#00,SMB9,   16#04为何意?
SMB9为模块错误寄存器:
判断第0位:端子块松动;
判断第2位:无用户电源错误;

2. 在这段程序里不应该有RET指令?
可根据实际应用进行修改。

3. smb9判断的第1位和第2位即t位和f位,出现错误时都是1,可第1位加了取反指令,第2位也应该加呀,为什么未加,另外,两种错误信号,应该是或的关系呀?
SMB9,   16#00,SMB9,   16#04:是判断第0位与第2位。在实际应用中可根据SMB9的约定进行编程。
请不要死钻这段例程,这段例程也是截取的。只要理解SMB8与SMB9的用法就可自己编程,做个试验,什么都有了。

最新系统手册:
<S7-200 可编程控制器系统手册>下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1017[2].pdf

提问者对于答案的评价:
谢谢大家,阿鸣的答案很详细,启发很大。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐

  • WINCC 通过CP243连接

    WNCC 通过以太网CP243连接S7-200的数量最大是多少 问题补充:WINCC通过SIMATIC NET连接S7-200的CP243-1需要那些授权才能工…

    SIMATIC S7-200 2021年7月4日
  • s7-200 PLC高速计数设定

    用高速计数HC0I0.0和I0.1输入AB相输入进行加减计数打到设定值中断如何设定 问题补充:如何设定参数SMB37 最佳答案 《200 高速计数器》http://www…

    SIMATIC S7-200 2021年7月5日
  • 关于s7-200模拟量输入转换问题

    输入4-20mA的时候EM231自动转换成6400-32000,我想转换回温度值在smart700上显示,中间要用到运算-6400,×100(PT100的温度范围是0-100),再…

    2017年6月29日
  • S7-200编程

    在编程中外部有一个传感器,输出4~20ma,当电流从小向大变化时,在10MA时输出一个开关量,当电流从大向小变化时,在13MA时输出一个开关量,请问这个程序怎么编? 最佳答案 1.…

    SIMATIC S7-200 2021年7月5日
  • 调节阀控制问题

    用一个EM235模块采集两个油压信号(套压和润滑油压),输出的模拟量信号(0-5V)控制调节阀的开度. 具体工作原理:现场共两个油压信号,套压和润滑油压,套压的大小基本上…

    SIMATIC S7-200 2021年7月5日
  • cup 226 cn plc 连接问题

    我用的是cpu 226 cn 型的 PLC 与PC第一次连接成功的 但是电脑关机后 第二次就怎么连也连不上了&…

    SIMATIC S7-200 2021年7月5日
  • S7-200通讯连接

    各位大虾好:小弟有一问题想请教各位:现在有一台S-200 224CN已经与TD200通讯,占用了PLC的RS485接口。现在我们想让此PLC与一台施耐德PLC通讯,问是否…

    SIMATIC S7-200 2017年8月16日
  • s7-200 PLC与ABB DCS的Profibus DP通讯

    请问:如何实现s7-200 PLC与ABB DCS的Profibus DP通讯,希望各位能提供资料和地址,谢谢! 最佳答案 加EM277通信模块一块,…

    SIMATIC S7-200 2020年10月31日
  • S7-200自由口通信问题

    我用200PLC自由口通信与一位移传感器相联,读取每一个产品的长度,现在出现了发送与接收同时工作的现象,报错代码为009;请各位帮我看下我的接收与发送时的程序,这样写可以不,程序如…

    SIMATIC S7-200 2021年7月4日
  • 请教各位 S7-200 IW0里面的 IB0 IB1 对应40001 那一个位置

    请教各位S7-200  IW0里面的  IB0  IB1  对应40001  那…

    SIMATIC S7-200 2021年7月5日