图3 变频器通讯程序流程图
plc作为总线主站读pzd应答报文是通过调用s7系统功能sfc14(dprd_dat)来实现,sfc14用于从一个标准的profibus-dp从站读取一串连续的数值,读取数值的长度取决于cpu的类型,它有三个形式参数:dp从站的读数据区的首地址、存放数据变量的首地址、存放错误代码的地址。若能正确读取数据,错误代码返回0000(hex);若读取出错,错误代码为非零值。同理,写pzd报文是通过调用系统功能sfc15(dpwr_dat)来实现的,它也有三个入口参数:dp从站写数据区的首地址、存放待写入数据变量的首地址、存放错误代码的地址。若正确写人,错误代码返回0000(hex);若写入出错,错误代码为非零值。以下是部分程序代码。
call "dprd_dat" //调用sfc14 读取pzd应答报文
laddr :=#addres_iw //dp从站读数据区的首地址
ret_val:=#error_code_i
-n//存储错误代码的返回变量
record :=#bpq_in //存放应答报文的首地址
l w#16#f
l #bpq_in.state_pzd[1] //pzd1字
aw //判断变频器是否就绪
jn nr //没有准备就绪
clr
= #fault //清内部故障标志位
l #control_word1
t bpq_out.control_pzd[1] //写从站固定控制字
spee: l #speed_iw
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页