关于模块检测程序

这是一段选自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日

相关推荐

  • 西门子PLC质量是不是越来越差了

    西门子PLC继电器质量是不是越来越差了,原来黑色的还好点,现在白色的好比是垃圾一样来的 问题补充:不管驱动的是中间继电器还是24V-3W的小气动电磁阀,一段时间后,都有存在着触点粘…

    2017年11月6日
  • 请问关于密码权限:禁止上载(4级)的一个问题

    我的PLC是224XP CN,我在使用中设置了密码权限中的第4级"禁止上载",我是否一定要用CLEAR命令来清除PLC的程序啊?因为我现在无法上载和下载程序?密码我是知道的. 最佳…

    SIMATIC S7-200 2021年7月5日
  • s7-200输出端需要接熔断器保护吗?需要的话用多大的熔断器呢?

    如果不用熔断器的话是否可以用断路器,用多大的断路器呢? 最佳答案 晶体管型的单点输出最大 0.75A继电器型的单点输出最大 2A你单点加熔断器不能大于这个值,大…

    2021年7月5日
  • em235的AO输出

    AO输出0~10VDC,控制富士变频器频率。输出10VDC时,线接到变频器上就变成8VDC了,变频器厂家说我的模块抗压电阻太小了。是模块问题?这种说法正确吗? 最佳答案 应该说是他…

    SIMATIC S7-200 2021年7月5日
  • 西门子200 SMart问题

    SB DT04 这个模块有晶体管输出功能,那么具备高速脉冲输出功能吗? 最佳答案 只有标准型、晶体管输出型PLC才支持高速脉冲输出 ST20有2个,S…

    SIMATIC S7-200 2017年6月10日
  • s7200接地

    请教高手s7200的cpu226,em277的m必须接地吗,s7200为什么这样要求, 问题补充:谢谢各位的帮助,我的cpu226em277em231用一个LOGO(2.5A)电源…

    SIMATIC S7-200 2021年7月5日
  • 普通计数器的最高频率

    请问高手?普通计数器的最高频率是多少?对输入点地址是否有限制? 最佳答案 以S7-200为例,普通计数器一般在中断来统计,或者直接在程序中累加,中断时间最快1ms,程序扫描周期最快…

    SIMATIC S7-200 2020年11月1日
  • s7-200输入缓冲器的问题

    s7-200的输入暂存寄存器是在输入模块中还是在CPU模块中 最佳答案 所有的与编程指令相关的寄存器、存储器都在CPU模块中。 提问者对于答案的评价:灰长三颗油 专家置评 已阅,最…

    SIMATIC S7-200 2018年3月6日
  • 关于HSC0高速计数器的问题

    我是使用指令向导的,使用内容如下,使用HS0,模式0 ,PV预置10,CV预置0,方向增加,后面选择“当前值等于预置值发生中断”,后面就没有选择,在这种情况下,假如I0.…

    SIMATIC S7-200 2020年10月31日
  • S7200与台达伺服Modbus通讯地址对应关系

    大家好,S7200与台达通过modbus-RTU通讯时,地址对应关系不确认,向大家请教一下:比如:我想要往台达命令触发寄存器P5-07这个参数里写入3这个值,看到台达手册里对应写的…

    2017年11月1日