请问:PCS7与S7-300用DP通讯,通讯没有问题。S7-300有上位机是WINCC,怎样能使PCS7通过 通讯可以控制S7-300中的一个模拟量数据,而且Wincc中也可以对同一个模拟量变量进行读写,也就是PCS7和Wincc同时控制S7-300PLC中的同一个模拟量的读写。而且,PCS7或Wincc中任意一方更改了这个变量的值时,另一方自动刷新,谢谢,急。
问题补充:
注意:PCS7中的画面与Wincc是属于同一级别,同时都能对S7-300中的程序进行控制;但无论哪一方进行了操作,另一方都能知道。
最佳答案
把PCS7和WinCC的控制命令写入到同一中间地址,然后将中间地址的数据再Move到模拟量输出数据即可。读的话还是读该中间变量。
提问者对于答案的评价:
和我想的查不多,不过实现不容易,因为,DCS就是PLC400对吧,带有自己的上位机,S7-300带有自己的上位机,两个上位机的数据是通过PLC之间的通讯得到的,所以当PLC400对PLC300写数据的时候,那个数据就是PLC400的值了,这时候PLC300的上位机往下写数据的时候就无效了,因为PLC400在每个周期不断的写入这个数据,所以PLC300的上位机写的数据马上就会被写掉,所以这个数据的值一直是PLC400的,PLC300的上位机就只剩读的份了。 就算用中间变量,中间变量的值也是PLC400写入的值,PLC300没有办法改变。
最佳答案作者回复:
1.如果两台上位机同时不断的写入数据时,建议楼主将S7300的上位机的优先级设置高一些,即控制权交给S7400时,S7-400再写入,否则一直由S7300的上位机写入(可在找个中间线圈作为切换开关,当然需要在PLC程序中做一些修改)。
2.如果S7300写入值为100,而S7400写入值为200时,不论在哪个界面打开数据写入窗口时,应该自动显示最后一次写入值(这个值不论是谁写入的),这样永远保证打开写入窗口时,在当前值的基础上进行写入。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc245606.html