经典问题回答课件.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
经典问题回答 1):DB1.DB4是什么数据 DB1.DB4是什么数据? 是数据块数据。DB1.DB4即数据块DB1中的第4个字节。 我用到OB1里面,出现错误,是什么? 你必须在STEP7中与添加一个块一样添加一个数据块,即DB1,并且定义它的大小,并且下载后,才能在程序中引用。 例,如何在S7-300数据块db中建立一个20个字节大小的数组? 先新建个数据块,建好后打开它,把类型改成复杂的ARRAY类型,并加[0..20],即ARRAY[0..20],并在下一行里写BYTE即可。 DB1.DB4是使用绝对地址直接访问数据块指令,就是在指令中间同时给出数据块的编号和数据块中的地址,数据块中的存储单元的地址由两部分组成,如这里DB1.DB4表示数据块DB1的第四个数据字节,用绝对地址直接访问数据块如下: L?DB1.DB4???//打开数据块DB1,并装入地址为4的字节数据单元 T?DB1.DB6???//将数据传送到数据块DB1的数据字节单元DB6 如果像上述直接使用是没有问题的,但是你要记住,在STEP7中为了避免出现系统错误,在使用数据块DB之前,必须先建立数据块,并在块中定义变量(包括变量符号名、数据类型以及初始值等)。数据块中变量的顺序及类型决定了数据块的数据结构,变量的数量决定了数据块的大小。而且数据块建立后,还必须同程序块(OB、FB、FC)一起下载到CPU中,才能被程序块访问。之所以在OB1中出现错误,是因为你没有建立相应的数据块DB1并在块中定义变量,也可能是你没有把DB1下载到CPU中。 总之,访问数据块的原则有两个:先建立后调用、必须同程序块一起下载到CPU中 我的流量累计程序偏差10% 我用了一个S_ODT接通延时定时器,定时时间1s,每一秒钟让m0.0接通一下,也就是我的累计程序周期是一秒,我觉得问题出在这里,累计程序肯定没有问题! 不能用定时器,因为定时器复位时有1个扫描周期的延时,楼主只需看看扫描时间,再看看相对1秒的比例就能知道误差有多大了。楼主应该采用1s的定时中断来实现,否则每次差1个扫描周期,时间长了差10%都算少的。 你是什么流量计?一秒的周期你为什么不直接在ob32里面写程序呢? 应在周期性中断中编写流量累计程序,这样比较准确 S7-300的温度PID控制 看了些有关FB41和FB58块的使用说明,但还是不太清楚具体如何使用。我现有314-2DP的PLC一台,PT100热电阻一个,电动阀门4-20毫安驱动,现想做一个温度控制:温度设定值为100度,低于100度时阀门关闭,当温度超过100度时使用PID调节阀门的开度,使温度恒定在100度,温度的上限是105度(即当温度到达105度时,全开阀门)。 实际上PID控制器FB41(连续控制器)和FB58(专用于PID温度控制)都是系统固化的纯软件控制器,运行过程中循环扫描、计算所需的全部数据存储在分配给FB41或FB58的背景数据块中,可以无限次调用。下面以FB41为例简单说明。 首先你要将要求的设定值(标准的整形值,介于0-27648,如0对应0度,100度对应27648),通过在主循环OB1中调用规范化功能FC105将此整形值转换为以工程单位表示的介于下限和上限之间的整型值(浮点格式),作为PID控制器FB41的参数PV_IN(浮点格式过程变量输入);其次,一般周期性中断OB35中调用控制块FB41,默认100毫秒进行一次PID运算。在调用FB41时,填写DB41,就会自动产生FB41的背景数据块;在FB41的指令参数中LMN_HIM(控制器输出上限,百分比100%,对应100度)和LMN_LLM(控制器输出下限,0%,对应0度),在CYCLE(采样时间)参数中输入采样时间,其他参数可以选择默认,你也可以在背景数据块对应参数中“Actual”(实际值)输入值,如果不输入值,FB41会自动调用DB41的默认设定值;第三,你可以在主循环OB1块中利用赋值指令把背景数据块DB41中参数LMN_PER(I/O格式的PID输出值)传送到如外设输出通道(模拟量模块的输出)如PQW3(将PID输出值,经过D/A模块转换后输出),控制PID调节阀的开度。 程序简单描述如下:在主循环组织块OB1中调用FC105和赋值指令;在OB35中调用PID控制块;在OB100中编写下列程序,作为重启PID: S?DB1.DBX0.0?//重启PID控制 R?DB1.DBX0.0//复位PID控制器 PLC做水量累计 为什么ADD_real模块两输入real型数值不累加,怎么解决? PLC做水量累计??为什么ADD_real模块两输入real型数值不累加,怎么解决?两数分别为(0.0625;1627262.2) 实数相加的话,要注意的一个问题当两个数的数量级别相

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档