西门子开关电源北京一级供货商
计算机加PLC软件包编程。这种方式是效率Z高的一种方式,但大部分公司的PLC开发软件包价格昂贵,并且该方式不易于现场调试,主要用于中高 档PLC系统的硬件组态和软件编程。实现程序块保护:
1.打开程序编辑窗口;
2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—>Generate source 生成);
3.关闭您的程序块,并在SIMATIC Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4.在程序块的声明部分,TITLE行下面的一行中输入“KNOW_HOW_PROTECT”;
5.存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
现在就完成了您程序块的加密保护;
取消对程序块的加密保护 :
1. 打开程序块的Source源文件;
2. 删除文件中的KNOW_HOW_PROTECT;
3. 存盘并编译该source文件;
解密OK
另外,如果你没有目前需要解密的程序块对应的source 源文件,你是无法对已经加密的程序块进行编辑的。西门子PLC的功能块编制
1.定义变量
为了进行结构化编程,必须编制功能块。从搅拌机控制要求可见,泵A、泵B、搅拌电机的控制要求相似,都是接受操作面板的启动按钮、停止按钮控制,都需要满足一定的控制条件,都需要检测错误,都有工作、停止指示灯等。因此,可以通过一个统一的FB块进行结构化编程。
功能块FB需要的变量较多,本例中,作为泵A、泵B、搅拌电机共同的输入,包括了启动信号( start)、停止信号(stop)、接触器辅助触点反馈(fbk)、定时器(T no)、检测时间(fbk time)等,定义的输入变量表。
作为泵A、泵B、搅拌电机共同的输出,包括了故障标志寄存器输出( err)、工作指示灯(start lt)、停止指示灯( stop_lt),定义的输出变量表如图11-5.2所示。
作为泵A、泵B、搅拌电机共同的输入/输出,有接触器线圈输出( coil),定义的输入/输出变量。
作为泵A、泵B、搅拌电机共同的静态变量,有启动延时(timl BIN与timl BCD),定义的静态变量。
2.编制功能块西门子PLC的功能块编制
功能块FB需要的变量较多,本例中,作为泵A、泵B、搅拌电机共同的输入,包括了启动信号( start)、停止信号(stop)、接触器辅助触点反馈(fbk)、定时器(T no)、检测时间(fbk time)等,定义的输入变量表如图11-5.1所示。
在使用PLC的过程中,我们经常遇到输入点不足问题,如何解决这个问题呢?Z简单的方法莫过于通过扩展输入模块来实现。但是模块的价格可是不菲的,动辄数千元,而且一扩就是8点、16点或32点,如果您仅仅缺一个点,这岂不是太不划算了!?有没有更经济的解决方案呢?
根据实践中的摸索,我总结出两种解决PLC输入点不足问题办法
其一是把多个要输入的信号,先通过外部元件的逻辑组合,然后再接入到PLC的一个输入点上;其二是不需要增加任何元件,通过运用PLC内部的逻辑组合,把连接到输入端的开关变成双稳态开关,来实现我们节省输入点的目的。
下面以工业控制中常见到的电动机的启动停止控制为例,具体来探讨这两种方案的实现方法。为了叙述的方便,我先做这样的假定:PLC系统采用西门子公司的S7-200系列;电动机启动按钮为SB1,定义号为I0.0;停止按钮为SB2,定义号为I0.1;控制电动机的接触器定义为KM1;控制接触器KM1的PLC输出点定义为Q0.0。
方案1:启动、停止按钮SB1和SB2不是单独接到PLC的输入端,而是先把SB1与SB2进行串联再连接到输入模块,这样就节省了一个输入点。控制流程是这样的:按下启动按钮SB2,I0.0输入高电平,Q0.0有输出信号,带动接触器KM1吸合,启动电动机旋转,同时接触器的辅助触点吸合,维持I0.0的高电平,从而电动机的旋转得以保持;按下停止按钮SB1,I0.0变为低电平,Q0.0便由高电平变为低电平,从而使KM1失电,电动机停止旋转。
另外一种解决输入点不足的方法是通过软件来实现,这种方案的接线非常简单,直接把一个按钮连接到PLC输入端,我把它定义为I0.0,但按下这个按钮,可以启动电动机旋转;若再按下这个按钮,又可以使电动机停止,即这个按钮是双稳态的。
我们来看它是如何实现的:按下按钮,I0.0为高电平,由于初始状态下M0.0是逻辑0,只有网络1中有电流流过,M0.1置位,从而在按钮释放后,Q0.0点输出,Q0.0激励KM1,使电动机旋转;同时M0.0变为逻辑1,为M0.1复位做好准备。如果此时再按下按钮,又只能使网络2中有电流流过,M0.1复位。它的复位使Q0.0失电,电动机停止,同时使M0.0复位,又为M0.1置位做好准备。再按下按钮,又会重复上述循环。之所以在网络3支路中串入I0.0,是为了取一个瞬时信号,保证按下按钮并等释放了以后,才使状态发生改变。如果您持续按着按钮不释放,PLC仍维持原来的状态不改变。