签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
硬件配置:1个主CPU 315-2 PN/DP,加6个扩展IO IM153-4。硬件组态编译通过,程序块编译通过。
问题:利用s7-plcsim进行仿真的时候,能够正确访问315-2上的IO。但是一旦程序中试图读取IM153-4上的AI/AO,比如PIW312,仿真系统会亮故障灯SF,并自动进入STOP状态。IM153-4的DI和DO的读写都没问题。主CPU上的AI,AO,DI,DO读写也没有问题。
这是为什么呢?
注意:我在符号表中把PIW和PQW的类型都改成了INT (在符号表中新建这类地址时,系统默认生成的是WORD),因为调用FC105/106进行尺度变换时只能接收INT类型的变量,WORD类型不行。
使用公共DB对故障OB的结果进行存储。故障如下:OB82未被调用OB86未被调用OB122被调用:
OB122_EV_CLASS = 16#29 OB122_SW_FLT = 16#42,意思是I/O读取错误
OB122_PRIORITY = 16#0A 出错OB的优先级
OB122_OB_NUMBR = 16#7A 表示OB编号122
OB122_BLK_TYPE = 16#8C OB122_BLK_NUM = 16#15 表示错误块为FC21 我确实是在FC21中读取了IM 153的AI
OB122_MEM_AREA = 16#20,使用字访问I/O区域(为什么他认为我访问的是I/O区域而不是输入的过程映像PIW?)
OB122_MEM_ADDR = 16#138,出错的内存地址为312 (我确实在程序块中读取PIW312,该AI是IM153上的点)
OB122_PRG_ADDR = 16#18
OB122被调用意味着系统认为输入模块损坏到不能读取的程度。我想知道,为什么在仿真模式下,IM 153的输入模块会被认为损坏呢?为什么主CPU的输入模块被认为是正常的呢?
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1339671&b_id=4
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录