S71500 1515-2PN+ET200SP,500个模拟量输入点,4-20ma,6个PTP模块,2个DI,2个DO.
现建立FC块在OB1中调用出现超出嵌套深度???
1、模拟量相似,就工程量上下限,报警设定值,报警方式,不同其余都一样,现场接的是同一种传感器。
2、用FC是否正确,还是FB?
3、目前调用方式为:
a、建立FC1,内部写模拟量处理程序(SCALE),外加一些量程处理,上下限报警处理输出,上升报警还是下降报警切换程序段;
b、复制9个FC1,分别编号为FC2,FC3.,,,,FC10,里面变量程序一模一样;
c、新建FC11,FC12,,,,,,FC20这10个FC块,然后FC11中调用50次FC1,FC12中调用50次FC2,,,,FC20中调用50次FC10;
d、OB1或者OB30这些块中调用FC11,FC12,FC13,,,,,,FC20这10个块;
c、编译仿真运行后亮红灯SF故障,显示块调用超出堆栈嵌套深度。
1500不熟悉,一下子处理500个点,运行不起来???
4、如何合理化编程?
5、除了模拟量+报警处理外,就一些500个点位的公共报警输出这类相对简单,但是有一个公共蜂鸣报警,当消音后又有报警产生,要实现蜂鸣再次触发如何简单的实现,变量少的情况下就用所有的一级二级报警状态位的上升沿置位蜂鸣即可,消音复位就行,现在有500点,1500个报警变量都要并联上升沿触发的话程序太笨,有没有好的方法?
5、如何建立变量(每一个点对应变量有量程上限、一级报警值、二级报警值、实际转换输出值、一级报警状态位、二级报警状态位、故障报警状态位、一级报警升报/降报、二级报警升报/降报、屏蔽报警状态位、一级二级故障公共报警状态位这4个浮点数+7个BOOL变量),使用UDT是很快建立500个变量,放在DB块中,使用DB块中的变量编程,但是整体变量没有规律性。有何高见?
6、而且WINCCV7.5要监控上述变量,如何方便WINNCC访问,编程?
7、另有6个PTT Modbus RTU模块 做从站,供其他主站访问上述变量,如何建立数据库,方便每个modbus——slave使用????有何见解???