网络为: s7-300 CPU做主站,下面挂了8套s7-200 通过EM227进行DP通讯,同时每套200上有套触摸屏,s7-300通过以太网和中控室wincc通讯
要实现的功能:这是个水厂的滤池控制,每套200控制一个滤池,有6个开关阀,一个调节阀,有液位等等,CPU主站控制反冲洗那一套设备。
现在我要写程序,我想了两套方案,不知道那个更加合理一些,现把两个思路给大家说一下,那位同仁做过类似的,或相关经验,给点建议.
由于200plc在反冲洗的时候,需要300PLC控制反冲洗设备,以及300的plc还要对各个200plc的反冲洗申请进行排队调度,以及中控室发出的命令都需要通过300的plc来控制200的,所以有两种实现的方法
其一:各个200的plc控制各自阀门,以及调节阀的pid运行,指示把需要通讯的数据和300的通讯。
其二:所以200的plc把物理输入通过DP送给300PLC,300的同一做逻辑处理和PID运算,然后把结果通过DP送至相应200PLC的输出。200的PLC只相当于采集信号和输出信号。
我考虑第一种方法优点是,减轻了网络负担和300CPU运算,即便网络不通,单台还可以手动运行,缺点是数据来回交换,逻辑不够清晰,同时200的编程不如300的编程方便快捷。
第二种方法的优点是,300集中处理,中间变量不必来回传送,step相对winmro编程快捷方便,程序结构也会更加清晰明了。缺点是,300的cpu负担重(这一点估计倒问题不大),关键是,DP网络传送数据负担相应大些,在单台网络不同时,其完全不能手动控制。
不知道那种方法更加合理。也许有些问题我还没有考虑到,希望朋友们给点建议。谢谢了