S7-300程序家族的故事

程序家族的故事一、程序家族有哪些成员?PLC的控制程序一般由主程序、子程序和中断程序组成。西门子的S7-300/400将子程序分为功能(Function,或称为函数)和功能块(FunctionBlock)。在每一个扫描循环周期,CPU都要调用一次主程序,用户程序必须有一个并且只能有一个主程序。小型控制系统可以只有主程序。中断程序用于快速响应中断事件。在中断事件发生时,CPU将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。二、哪些情况需要使用子程序?当系统规模很大、控制要求复杂时,如果将全部控制任务放在主程序中,主程序将会非常复杂,既难以调试,也难以阅读。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于调试、查错和维护。子程序也可以用于需要多次反复执行相同任务的地方,只需要编写一次子程序,别的程序在需要的时候多次调用它,而无需重写该程序。三、怎样调用子程序?主程序可以调用子程序,子程序也可以嵌套调用别的子程序。嵌套调用的层数是有限制的,例如S7-200的最大嵌套深度为8级。执行完子程序后,返回调用它的程序中的调用指令的下一条指令。四、每个扫描周期都会执行子程序吗?子程序的调用可以是有条件的,在被调用期间,每个扫描周期都要执行一次被调用的子程序。调用条件不满足时不会执行子程序中的指令,因此使用子程序可以减少扫描循环时。五、停止调用子程序后,子程序中的线圈处于什么状态?停止调用子程序后,不再执行子程序中的指令。子程序中线圈对应的编程元件如果没有受到别的程序的控制,将保持子程序最后一次执行后的状态不变。即使控制这些线圈的触点的状态变化,该线圈对应的元件的状态也不会变化,因为这时根本就没有执行子程序中的指令。六、怎样实现子程序的无条件调用?有的PLC的子程序调用指令不能直接接到左侧的垂直“电源”线上,需要通过触点电路来控制是否调用子程序,即子程序的调用是有条件的。可以用一直为ON的特殊位元件(例如S7-200的SM0.0或FX系列的M8000)的常开触点来实现子程序的无条件调用。七、什么是全局变量和局部变量?不同品牌的PLC的子程序大致可以分为两种,一种子程序没有输入、输出参数和局部变量,另一种则有。以西门子的S7-200为例,输入I、输出Q、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量,可以在符号表中为全局变量定义符号名。程序组织单元(ProgramOrganizationalUnit)简称为POU,包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量用L(Local)来表示,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。八、局部变量有哪些类型?子程序可以使用下列局部变量:1、TEMP(临时变量)是暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。主程序和中断程序的局部变量表中只有TEMP变量。2、IN(输入参数)由调用它的POU提供的传入子程序的输入参数。3、OUT(输出参数)是子程序的执行结果,它被返回给调用它的POU。4、IN_OUT(输入_输出参数)的初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。主程序和中断程序的局部变量表中只有临时变量TEMP。九、子程序的输入、输出参数有什么作用?具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。编程人员为设备的各部件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以用它们快速“组装”出满足不同的用户要求的控制程序。就好像可以用数字集成电路芯片组成复杂的数字电路一样。如果子程序没有输入、输出参数,这种子程序没有明确的软件接口,使用起来很不方便。十、局部变量有什么优点?1、子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将它移植到别的项目时,需要对各POU使用的全局变量作统一安排,以保证不会出现地址冲突...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?