今天在学习S7-300连接EM277,组态EM277,有几个问题没搞明白。
方式1 选择数据交换区的时候选择Universal module, 输入输出都设成最大的64word,一致于单位的时候,运行没 问题,但设置一致于总长度的时候,315跟EM277报故障,STEP7诊断预设的组态跟实际组态不一致,是不是EM277不能组态成64输入输出总长度的数据一致性。当选择一致于单位的时候,我调用SFC14,SFC15,SFC报80B1,仔细检查SFC RECORD参数的长度跟组态的数据交换长度一样.
方式2 选择交换区为2bytes out/2bytes in 8bytes out.8bytes in等等,运行都正常,这时程序调用SFC14,SFC15,SFC报80B1,仔细检查SFC RECORD参数的长度跟组态的数据交换长度一样。这个是什么原因。
方式3 选择交换区为4 buyte buffer i/o, 8 buyte buffer i/o等等,运行正常,程序调用SFC14,SFC15,运行一切正常,没有报80B1.
疑问,为何只有选择 buffer的时候SFC14 15运行正常。既然方式3 buffer是缓冲区一致,我的理解是就没必要再用SFC14 SFC15了。而只有用方式1和方式2一致于单位的时候,为了保证缓冲区一致才要用SFC14 15,而却报80B1,无法使用,还有在百度了一些帖子,有人说用方式1或是2的时候,只要数据交换区设置在过程数据区之内就自动保持缓冲区数据一致,是这样吗,不知是我理解得不对还是软件组态的不对。