quote:以下是引用白牛在2013-02-26 15:49:53的发言:
同一个DB,但不同地址,一部分上位机读,PLC写,另外一部分上位机写,PLC读。
这样应该不会出现对一个地址双向写的问题了吧
我没表达清楚
比如PID控制,FB58对应的DB块是DB100。然后PID参数是通过STEP 7整定好了的,这些参数存在DB100里面
与人机界面交换数据,将程序中所有的状态点、故障点、模拟量和控制参数单独存在几个DB块中(例如,状态点对应DB1000,故障DB1001,模拟量DB1002,控制参数DB1003)。前3个是我提供给上位机的,上位机只读不可写。关于控制参数,如果我不做初始化,不先把值写到DBDB1003中去,DB1003就没有数值,上位机显示就为0。如果在OB1中把PID参数MOVE到DB1003中,这样上位机就无法修改参数。
用OB100把参数MOVE到DB1003中,也有个弊端,OB100是CPU重启的时候会执行一次,如果在生产的时候,我重新整定PID参数,而CPU又没有重启,新的参数值无法通过OB100写到DB1003中去