厦门西门子S7-200代理商
在实际应用中常碰到这样两个问题:一是plc的i/o点数不够,需要扩展,然而增加i/o点数将提高成本;二是已选定的plc可扩展的i/o点数有限,无法再增加。因此,在满足系统控制要求的前提下,合理使用i/o点数,尽量减少所需的i/o点数是很有意义的。下面将介绍几种常用的减少i/o点数的措施。
一、减少输入点数的措施
1.分组输入
一般系统都存在多种工作方式,但系统同时又只选择其中一种工作方式运行,也就是说,各种工作方式的程序不可能同时执行。因此,可将系统输入信号按其对应的工作方式不同分成若干组,plc运行时只会用到其中的一组信号,所以各组输入可共用plc的输入点,这样就使所需的输入点减少。
如图1所示,系统有“自动”和“手动”两种工作方式,其中s1~s8为自动工作方式用到的输入信号、q1~q8为手动工作方式用到的输入信号。两组输入信号共用plc的输入点x0~x7,如s1与q1共用输入点x0。用“工作方式”选择开关sa来切换“自动”和“手动”信号的输入电路,并通过x10让plc识别是“自动”,还是“手动”,从而执行自动程序或手动程序。
图1分组输入
图中的是为了防止出现寄生回路,产生错误输入信号而设置的。例如当sa扳到“自动”位置,若s1闭合,s2断开,虽然q1、q2闭合,也应该是x0有输入,而x1无输入,但如果无二极管隔离,则电流从x0流出,经q2→q1→s1→com形成寄生回路,从而使得x1错误地接通。因此,必须串入二极管切断寄生回路,避免错误输入信号的产生。
2.矩阵输入
如图2所示为3×3矩阵输入电路,用plc的三个输出点y0、y1、y2和三个输入点x0、x1、x2来实现9个开关量输入设备的输入。图中,输出y0、y1、y2的公共端com与输入的公共端com连在一起。当y0、y1、y2轮流导通,则输入端x0、x1、x2也轮流得到不同的三组输入设备的状态,即y0接通时读入q1、q2、q3的通断状态, y1接通时读入q4、q5、q6的通断状态,y2接通时读入q7、q8、q9的通断状态。
当y0接通时,如果q1闭合,则电流从x0端流出,经过d1→q1→y0端,再经过y0的触点,从输出公共端com流出,后流回输入com端,从而使输入继电器x0接通。在梯形图程序中应该用y0常开触点和x0常开触点的串联,来表示q1提供的输入信号。
图中二极管也是起切断寄生回路的作用。
图2矩阵输入
采用矩阵输入方法除了要按图6-12的硬件连接外,还必须编写对应的plc程序。由于矩阵输入的信号是分时被读入plc,所以读入的输入信号为一系列断续的脉冲信号,在使用时应注意这个问题。另外,应保证输入信号的宽度要大于y0、y1、y2轮流导通一遍的时间,否则可能会丢失输入信号。
3.组合输入
对于不会同时接通的输入信号,可采用组合编码的方式输入。如图3a所示,三个输入信号q1、q2、q3只要占用两个输入点,再通过如图3b所示程序的译码,又还原成与q1、q2、q3对应的m0、m1、m2三个信号。采用这种方法应特别注意要保证各输入开关信号不会同时接通。
图3组合输入
a)硬件连接图b)梯形图程序
4.输入设备多功能化
在传统的继电器电路中,一个主令电器(开关、按钮等)只产生一种功能的信号。而在plc系统中,可借助于plc强大的逻辑处理功能,来实现一个输入设备在不同条件下,产生的信号作用不同。下面通过一个简单的例子来说明。
如图4所示的梯形图只用一个按钮通过x0输入去控制输出y0的通与断。
图4用一个按钮控制的起动、保持、停止电路
图中,当y0断开时,按下按钮(x0按通),m0得电,使y0得电并自锁;再按一下按钮,m0得电,由于此时y0已得电,所以m1也得电,其常闭触点使y0断开。即按一下按钮,x0接通一下,y0得电;再按一下按钮,x0又接通下,y0失电。改变了传统继电器控制中要用两个按钮(起动按钮和停止按钮)的作法,从而减少了plc的输入点数。
同样道理,我们可以用这种思路来实现一个输入具有三种或三种以上的功能。
5.合并输入
将某些功能相同的开关量输入设备合并输入。如果是几个常闭触点,则串联输入;如果是几个常开触点,则并联输入。因此,几个输入设备就可共用plc的一个输入点。
6.某些输入设备可不进plc
系统中有些输入信号功能简单、涉及面很窄,如某些手动按钮、过载保护的触点等,有时就没有必要作为plc的输入,将它们放在外部电路中同样可以满足要求,如图5所示。
图5输入信号设在plc外部
二、减少输出点数的措施
1.矩阵输出
图6中采用8个输出组成4×4矩阵,可接16个输出设备(负载)。要使某个负载接通工作,只要控制它所在的行与列对应的输出继电器接通即可,例如:要使负载km1得作,必须控制y0和y4输出接通。
图6矩阵输出
应该特别注意:当只有某一行对应的输出继电器接通,各列对应的输出继电器才可任意接通,或者当只有某一列对应的输出继电器接通,各行对应的输出继电器才可任意接通,否则将会出现错误接通负载。因此,采用矩阵输出时,必须要将同一时间段接通的负载安排在同一行或同一列中,否则无法控制。
2.分组输出
当两组输出设备或负载不会同时工作,可通过外部转换开关或通过受plc控制的电器触点进行切换,所以plc的每个输出点可以控制两个不同时工作的负载。如图7所示,km1、km3、km5与km2、km4、km6两组不会同时接通,用转换开关sa进行切换。
图7分组输出
3.并联输出
当两个通断状态完全相同的负载,可并联后共用plc的一个输出点。但要注意plc输出点同时驱动多个负载时,应考虑plc输出点的驱动能力是否足够。
4.输出设备多功能化
利用plc的逻辑处理功能,一个输出设备可实现多种用途。例如在继电器系统中,一个指示灯指示一种状态,而在plc系统中,很容易实现用一个输出点控制指示灯的常亮和闪烁,这样一个指示灯就可指示两种状态,既节省了指示灯,又减少了输出点数。
5.某些输出设备可不进plc
系统中某些相对独立、比较简单的控制部分,可直接采用plc外部硬件电路实现控制。
以上一些常用的减少i/0点数的措施,仅供读者参考,实际应用中应该根据具体情况,灵活使用。同时应该注意不要过份去减少plc的i/0点数,而使外部附加电路变得复杂,从而影响系统的可靠性。
制造厂家常用生产金字塔pp(productivity pyramid)结构来描述它的产品能提供的功能。如图1所示为美国a-b公司和德国siemens公司的生产金字塔。尽管这些生产金字塔结构层数不同,各层功能有所差异,但它们都表明plc及其网络在工厂自动化系统中,由上到下,在各层都发挥着作用。这些金字塔的共同特点是:上层负责生产管理,下层负责现场控制与检测,中间层负责生产过程的监控及优化。
图1生产金字塔结构示意图
美国国家标准局曾为工厂系统提出过一个如图2所示的nbs模型,它分为6级,并规定了每一级应当实现的功能,这一模型获得了国际广泛的承认。
图2 nbs模型
化组织(iso)对企业自动化系统的建模进行了一系列研究,也提出了一个如图3所示的6级模型。尽管它与nbs模型各级内涵,特别是高层内涵有所差别,但两者在本质上是相同的,这说明现代工业企业自动化系统应当是一个既负责企业管理经营又负责控制监控的综合自动化系统。它的高3级负责经营管理,低3级负责生产控制与过程监控。
图3 iso企业自动化模型
通过执行_setdpslaveaddress程序可以实现simotion的dp从站地址修改。
实现方法:
(1)首先打开hw config 硬件组态,配置接口为dp从站:
图01. 设置dp 接口为从站
(2)配置dp从站通信的io地址如下图:
图02. 配置dp从站通信的io地址
(3)查询dp 诊断地址用于后续编程时填写参数使用:
图03. 查询该接口的诊断地址
(4)编写如下程序
var_bbbbbb
locdpslaveaddress : sint := 8; // 需要使用的profibus地址
retdpslaveaddress : structretdpslaveaddress; // 返回值变量
locretval : dint;
neededsetdpaddress : dint := 0;
startchange :bool;
end_var
end_interface
implementation
program bkgchangdpaddress
if startchange then
// 读取当前的dp从站地址
retdpslaveaddress := _getactivedpslaveaddress (
logicaladdresscommunicationadapter := 16382 // 步骤3查询的接口诊断地址
);
if (0 = retdpslaveaddress.functionresult) then
// 检查是否需要更新dp地址,如果当前地址与地址locdpslaveaddress 不相同,则执行更新
if (retdpslaveaddress.dpslaveaddress <>; locdpslaveaddress) then
neededsetdpaddress := 1;
else
;
end_if;
end_if;
if (1 = neededsetdpaddress) then
// 设置新的dp地址
locretval := _setdpslaveaddress (
logicaladdresscommunicationadapter := 16382, // 步骤3查询的接口诊断地址
dpslaveaddress := locdpslaveaddress
// profibus address of the local slot
);
if (0 = locretval) then
locretval := _activatedpslaveaddress (
logicaladdresscommunicationadapter := 16382 // 步骤3查询的接口诊断地址
);
else
;
end_if;
end_if;
end_if;
(5)修改startchange为1,程序执行成功会导致simotion重新启动,随后新的dp地址生效。
- 福州西门子S7-200代理商 2024-05-08
- 福建西门子S7-200代理商 2024-05-08
- 宣城西门子S7-200代理商 2024-05-08
- 池州西门子S7-200代理商 2024-05-08
- 亳州西门子S7-200代理商 2024-05-08
- 六安西门子S7-200代理商 2024-05-08
- 巢湖西门子S7-200代理商 2024-05-08
- 宿州西门子S7-200代理商 2024-05-08
- 阜阳西门子S7-200代理商 2024-05-08
- 滁州西门子S7-200代理商 2024-05-08