恭喜,你发布的帖子
发布于 2016-12-30 09:36:36
10楼
我回头看了看我之前使用过的SFC14,再对比了一下你的这个图中的SFC14的使用,问题首先是SFC14的引脚LADDR的使用错误,正确指引如下:
LADDR INPUT WORD I, Q, M, D, L, constant Configured start address from the I area of the module from which the data will be read.
Note:Addresses have to be entered in hexadecimal format. For example, diagnostic address 100 means: LADDR:=W#16#64.
LADDR引脚数据输入一般使用指针形式或者直接是数字,而且LADDR的输入数据必须要比RECORD的存储地址指针要短,如果地址长度不够就会出现问题,出现的故障可以通过引脚RET_VAL输出的报警号来识别,但是看你这个SFC14的报警输出好像是写在静态变量中的吧,要读出来再看。
你这个还有个问题是,你的数据传输到了指针指向的DB3005.DBX2.0开始的30个字节内,你用GOTO的功能找DB3005.DBX2.0,DBB2,DBW2,DBD2,,DBBxx,GOTO功能只能找到你的交叉参考表里面的地址,而交叉参考表中的地址都是你程序块中使用到的一些地址,其余的未明确使用的地址你是找不到的,而你使用的SFC14,将数据传到了DB3005,但是你的程序中是否使用了这些数据,怎么使用的你得看你得程序了,有兴趣可以把程序分享出来大家研究探讨一下
请填写推广理由:
分享
只看
楼主