常州西门子PLC模块经销总代理商常州西门子PLC代理,常州西门子S7-1500代理,西门子PLC代理
采用结构化编程的程序结构形式与调用式编程相同,程序同样由组织块OB、程序(FC)、功能块(FB)、系统程序块(SFC)、系统功能块(SFB)、数据块(DB)等组成,并通过组织块OB1对其进行组织与管理。功能块(FB)可以用于结构化编程,为了满足参数化编程的需要,功能块(FB)需要配套的即时数据块DI,组织块OBI在调用FB时,需要根据不同的控制要求,通过即时数据块DI对参数进行赋值。
DP从站出现故障时,如果S7-400没有生成和下载OB82、OB85、OB86和OB122,S7-300 没有生成和下载OB82、OB86和OB122,CPU将切换到STOP状态。为了防止某个从站的故障造成整个PROFIBUS主站系统停机,作为一个常规的措施,至少要生成和下载上述组织块。即使没有在这些OB中编写任何程序,在DP从站出现上述故障时,CPU也不会进入STOP模式。
需要注意的是,生成上述OB后,CPU虽然不再进入STOP模式,但是可能不易察觉这些危险状态,它们会被忽视。为了解决这一问题,在故障 OB 中,应编写记录、处理和显示故障的程序,例如记录中断的次数,保存OB的局部变量,调用读取诊断数据的SFC13等。以便在出现故障时,迅速地查明故障的原因和采取相应的措施。
通过中断组织块的局部变量提供的信息,可以获得故障的原因、出现故障的模块地址、模块的类型(输入模块或输出模块)、故障出现或故障消失等信息。CPU的模块信息对话框中的诊断缓冲区保留着CPU曾经调用过的组织块的信息。
双击打开硬件目录中的子文件夹“MASTERDRIVES/DC MASTER CBPx”,文件夹内是CBP板的通信区选项(见图6-46)。过程数据PZD用于PC控制和监视变频器,参数数据PKW用于读写变频器的参数。PKW和PZD总称为参数过程数据对象(PPO)。组态时一般选择PP01和PP03。PP01有4个字的参数数据PKW和西个字的过程数据PZD。系统调试好后交付给用户使用时,一般选择PPO3,它只有两个字的过程数据PZD,可以监控变频器和电动机的运行,但是不能修改组态的参数。
选中硬件组态窗口中的变频器,就像将模块插入ET200M的插槽一样,将图6-46中的“PPO1:4PKW/2PZD”拖放到下面的窗口的第1行。下面的窗口自动生成两行信息,第1 行是PKW,第2行是PZD,可以看到自动分配给它们的输入、输出地址。
*在Siemens早期的SS系列PLC中,只有组织块OB、功能块FB、数据块DB与程序块PB四类逻辑块。在S7系列PLC中,取消了程序块PB的名字,而是用英文的"Function"代替了原程序块PB。"Function"可以直译为功能,因此,在许多书中称为"功能";在这里考虑到SS的继承性,同时便于读者与“功能块”区别,仍然将“Function”称为“程序块”。
对于一些变频器或者伺服电机等的程序设计,一般有多种方式,可以线路直接控制还可以通讯控制,那么使用通讯的方式的话会使得程序增加了仿制的难度,比如说PLC对于伺服驱动器的控制有多种,简单一些的可以是脉冲直接控制或者模拟量控制,这种方式就容易仿制,如果换成通讯控制,则会使得程序复杂很多,加上仿制者如果对报文不熟悉,很难去仿制。
有时候控制系统会由多个子控制系统构成,由此形成多CPU加人机界面的网络,西门子S7-200产品常见的是PPI网络,S7-300400产品常见的是MPI网络,通常是人机界面与CPU之间的数据交换,而我们也可在CPU的用户程序中添加一些无需组态的S7基本通讯功能(S7-200可用NETRNETW指令,S7-300400可以用X_PUTX_GET指令),定时或不定时地在CPU之间进行少量数据交换,通过这些数据实现子系统控制逻辑的互锁。对于这样的系统,仿制者要分析某一子系统的程序也不是件十分容易事情。
图5-32为采用三种不同编程方式的程序结构示意图,在实际调用式编程、结构化编程时,被组织块OB1调用的逻辑块还可以调用其他逻辑块(程序嵌套)。