我现在有个项目,用300PLC-315-2DP的CPU做DP从站,与DCS通信,需要传给一个模拟量给DCS,接收DCS发送过来的一个模拟量,同时还有几个I/O点,DCS厂家给我的地址是O512(送给DCS),IW512(DCS送来),O528.0,O528.1,O528.2(送给DCS),I528.0(DCS送来),我配置CPU315-2DP从站,对主-从组态时的地址类型(输入/输出),地址(E)不是很确定(是应该从512开始?我现在不确定DCS配置组态DP从站时分配给300PLC的I/O地址是多少,虽然他给了我PLC与DCS的地址表),还有就是我想把DCS送过来的数据存放在DB9块内,具体程序在OB1中这样调用SFC14/15系统块!今天我把程序下载至PLC,CPU的SF,BF灯亮了,报错读取时发生I/O访问错误!现在我还没有和DCS通讯上,只是在下载程序后就遇到问题了!请各位大神指点一下,315-2DP第一次用DP通信做从站!谢谢,最好给我指点下程序中的不足之处,截图程序段!,像我5图片中的那样读写可以吗?我看了别人说这样可以的,情况紧急,希望大家帮帮我!
图片说明:
最佳答案
从诊断缓冲区的信息看来是系统调用了OB122组织块。当访问模块数据出错,CPU操作系统就会调用OB122。例如程序访问了不存在的I/O地址区(即:PIW、PQW、IW、QW等编号)。由于你的CPU和DCS还没有通讯正常 ,你就使用SFC14和SFC15读写I/O地址,就会出现这样的情况。其实不需要使用SFC14和SFC15系统块,直接使用MOV指令地址映射就可以了。
因为还没有通讯成功,所以BF会亮红灯。SF是系统故障,因为I/O访问出错和通讯故障,所以SF会亮红灯。楼主首要任务是建立300的CPU和DCS DP通讯,等DP通讯正常再读写I/O数据。建议下载程序的时候添加一些必要的OB块,防止PLC停机。例如可以添加OB82、OB86、OB121、OB122等组织块。详细可以参考以下链接:
http://www.ad.siemens.com.cn/Service/answer/solution.aspx?Q_ID=115652&cid=1029
http://wenku.baidu.com/view/9b97942ce2bd960590c67778.html
提问者对于答案的评价:
谢谢了
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc203133.html