我们是做西门子传动的,有个同事写的程序,他在DB块上面定义的哪个数据类型的各位和各字节的含义,一个DB块有24个字节(如图DB1),和程序里在的SFC14读取12个字节,SFC15写入12个字节,是怎么对应用的,具体的含义是什么?在6RA70里面是怎么个对应法?可能我说的不是太明白,有图片的,请高手指点!谢谢了
图片说明:
最佳答案
我根据你的问题来说说。
第一,你想要知道SFC14自6RA70读取的12个字节和SFC15写入6RA70的12个字节是和DB1怎么对应的,要看SFC14、SFC15的RECORD引脚给出的位置,“和数据DB对应的通讯”这张图的第一个网络就是针对DB1的,其中SFC14的RECORD引脚给出的位置为P#DB1.DBX12.0 BYTE12,这就是说SFC14自6RA70读取的12个字节存放在数据块DB1中,以+12.0开始的12个字节(即按位来讲的12.0---23.7);SFC15的RECORD引脚给出的位置为P#DB1.DBX0.0 BYTE12,这就是说SFC15向6RA70写入的12个字节存放在数据块DB1中,以+0.0开始的12个字节(即按位来讲的0.0---11.7)。这里引申一点你这套系统采用的PZD报文格式为PPO2或者PPO4,采用的6个PZD数据读取。
第二,那你的例子来说在6RA70内部,来自DP的数据会被CB板按照PLC的发送顺序依次存放在连接器K3001--K3006,这些连接器不仅可以直接使用自由分配给不同的参数,还可以按位取用,例如K3001按位可以分解为B3100---B3115;PLC读取的数据是根据6RA70的参数U734下每一个连接器的连接变址顺序来确定的,默认第一位为K0032即状态字、第二位为K0167即实际值,当然也可以自由组态。
拿你提供的图片举两个例子吧,DB1里的+4.0,类型INT,名称为nref,也就是速度给定,它是通过SFC15写入6RA70里的,也就是说在6RA70里你这个nref,被传送到了K3003连接器;再举一个DB1里的+16.0,类型INT,名称为sact,也就是速度实际值rmp,它是通过SFC14自6RA70读入的,也就是说在6RA70里你这个nref,被连接到了U734的第三个变址上;顺便提一下你这个参数不是采用的默认值,U734的第二变址为“1#夹送棍实际速度值”
提问者对于答案的评价:
thank you
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc156478.html