签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
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使用????有何见解???
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1689569&b_id=66&s_id=0&num=2
3、程序嵌套可以嵌套8层。
你的程序有问题呀!你fc1是模拟量处理的程序,直接调用fc1 500次就行了呀,fc1内部不要有全局变量就行了,fc2~fc10用不着,可以删除。
fc11~fc20中各调用50次fc1
5、把报警信息集中到一个数组中然后用for循环判断只要有一个报警就触发蜂鸣器
建立变量怎么没有规律,你建立一个数组,变量,数据类型是你的udt,编程时做好一组信号的处理,其他的只要改变数组的角标就行了,着用scl的for循环就简单了呀,数组寻址用循环的自增变量
6、db取消优化访问,
7、还是udt+数组方式。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录