功能快如何反复调用

做PID控制,设定值要按一定斜率变化,但PCS7库里没有这样的功能块,于是就想自己编功能块实现设定值的按斜率变化.我用的FC功能,大概思路是这样:用定时器作了一个1分钟的脉冲.由这个脉冲控制设定值SP每分钟变化(加或者减),这样就实现了SP的按斜率变化.因为工艺曲线是分步骤执行,比如第一补要求从室温在50分钟内升到60度,然后第二步保温20分钟,再第三步在120分钟内升到150度.我做的FC里先进行数据比较,判断该步是升温 降温还是保温,然后再执行对应的数据计算.单步运行没有问题,但是就是不能反复调用.我在做FC或者FB时要注意什么问题呢

最佳答案

如果你编写的FC块需要反复的调用,在FC中就不能有使用绝对地址(如MB20、MD40等)的程序,所有涉及到的数据必须使用指针或间接地址访问,或者就用FC块的局部变量。否则建议使用FB块编写程序,将变量定义为静态变量,通过使用不同的背景数据块来实现程序的反复调用。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc197827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月26日 上午12:36
下一篇 2017年8月26日 上午12:37

相关推荐

  • 重新获取 装载服务器

    在新装工程师站上,打开原先的归档,但有弹出窗口提示“重新获取(257:5),无法显示一个或多个对象或对象类型。无法为对象_S7H_STELLVERTRETER_CT装载服务器’s7…

    SIMATIC PCS 7 2017年6月27日
  • STEP7中数组定义与读取

    在DB数据区可以定义数组,数组中数据类型有位、字节、字、整数等类型吗?如何去读取相应的数据? 最佳答案 直接读取,如读字:DB1.DBW2   &nb…

    SIMATIC PCS 7 2017年7月25日
  • cfc 下载 CPU报错

    PCS7系统中CFC增加程序后,编译正常,但无法下载,下载提示错误见图片1,麻烦各位帮忙分析一下,报警的原因是什么? 问题补充:这个报警应该是CPU通信作业数超限,请问有什么解决办…

    2017年5月31日
  • 如何彻底删除功能块

    有时候我改了很多块的序号,多了就觉得乱了,所以想彻底大删除功能块然后重新调用,请问怎么操作才行呢? 问题补充:天晴学长,你说的清空PLC是否也包括手动删除BLOCK里的块呢,因为我…

    SIMATIC PCS 7 2017年10月29日
  • ProfiBus-DP协议

    通过EM277模块用ProfiBus-DP与上位机通讯,上位机软件是pcs-7。上位机只做监控,不做任何操作,看了下相关资料后。做了一小段程序,不知道对不对。求老师指点。见图1,2…

    2017年6月8日
  • pcs7系统总报警运行许可证检查

    做了个pcs7项目,as站用的是417-4H冗余,上位机用的是研华工控机,一个ES一个OS,用1623网卡进行通讯,ES站没有问题而OS站总是时不时的报警“运行许可证检查”,买的正…

    2017年6月12日
  • PCS7测点数据库导入

    请问怎么将测点导入PCS7,用EXCEL做的测点数据库 问题补充:I/O测点啊,我在转换EXCEL的时候,换不成.SEQ格式啊 最佳答案 不知你是要导入/导出I/O过程变量数据呢,…

    SIMATIC PCS 7 2017年8月18日
  • ES换了新电脑,WinCC不能下载到Server上去了

    ES的电脑出了硬件问题,更换台新的,运行原项目包,ES上运行WinCC和和编写下载程序没问题,唯独不能将ES上组态的Wincc的Server下载到服务器上去,下载server到最后…

    2017年6月10日
  • 拷贝问题

    在使用PCS7 的时候 硬件组态是不是不能直接拷贝 而S7 中的东西可以呀  最佳答案 硬件组态一定要另外进行,其它的可以拷贝。因…

    SIMATIC PCS 7 2017年10月31日
  • 我有一个PCS7的项目,和本特利通讯时,PCS7做主站。

    我有一个PCS7的项目,和本特利通讯时,PCS7做主站。用到P_SND_RK功能块,这个块有个LEN管脚,它应该是DB52的长度吧,如果是的话,应该怎么看这个块的长度呢,看一下我上…

    SIMATIC PCS 7 2017年6月10日