西门子6ES7214-1BD23-0XB8正规授权
1引言
普通的计算机一般都配有并行接口(就是通常用的打印机接口),它是通过25芯的D型接头连接打印机与计算机的,计算机的并行接口不仅可以向打印机发送数据,还可以从打印机接收数据(打印的工作状态)。利用计算机的并行接口,你可以去控制外部继电器的吸合,从而控制外部设备,同样可以利用它来检测外部设备的状态。不需添加任何硬件。从而使一台普通的计算机具有“PLC”的开关量的功能。
本文分析的系统,把普通并口实现了一个4输入8输出数字量的功能,切不需任何投资。们先对打印机的并行口做一下细致的分析。配有一个并口的计算机经系统引导后,初始化过程把并行端口配置成LPT1,这个端口又分配了数据地址378H, 状态地址379H。其中378H端口做输出端口,379H端口做输入端口。
2并口数据采集控制原理
(1) 端口378H,378H的管脚见表1。
在计算机通电后的自然状态,378H端口的每个数据位为1,表1中每个管脚对地(25脚)为高电平5V。即378H地址的内容为FF(十进制是255),当控制378H的内容为1(十进制)二进制码是00000001时,即2脚对地输出高电平,其它对地是0电平。如控制378H的内容为2(十进制)二进制码是00000010,即3脚对地输出高电平,其它对地是0电平。如控制378H的内容为3(十进制)二进制码是00000011,即2、3脚对地输出高电平,其它对地是0电平。依次类推。
当某管脚对地是高电平5V时,由于每条数据线的输出电流高达20mA,可以接5V的直流继电器,通过继电器的触点在去控制其它的设备,如电磁阀、电机等。图1是用打印机并行接口实现的继电器控制电路,此电路稍加修改即可用于其它设备的开关控制。
(2) 端口379H,379H的管脚见表2。
在计算机通电后的自然状态,379H端口的数据位第7位是0,其余每个数据位为1,即上述每个管脚对地(25脚)为高电平5V。即379H地址的内容为127(十进制)二进制码是01111111。当只把某管脚(如10脚)通过500Ω的电阻接到25脚,则它所对应的数据位是0,其它的数据位不变,则379H的内容为63(十进制)二进制码是00111111。当只把某管脚(如12脚)通过500Ω的电阻接到地25脚,则它所对应的数据位是0,其它的数据位不变,则379H的内容为95(十进制)二进制码是01011111依次类推。
图2是用打印机并行接口实现的开关检测控制电路,当K断开时,379H为127(十进制),当K闭合时,379H为111(十进制)二进制数是01101111,即13脚所连接的第4数据位为0。
3 软件实现
VB是一种可视化的编程语言,自面世以来,因简单易用倍受广大编程人员的青睐,作为一种非常方便的bbbbbbs95应用程序开发平台,可以实现bbbbbbs的绝大部分功能。
VB中没有专门的对并口的操作控件,要实现对并口的读写,需要对I/O进行操作,但对硬件进行访问以及利用各种控制接口板进行数据采集,仅靠VB是无法解决的。解决这样的问题可以间接使用动态链接库DLL(Dynamicbbbb Library)来实现。程序人员利用DLL可以实现应用程序共享代码和资源,DLL与用户的程序完全分开。
动态链接库(DLL)是一个可执行模块,但它并不可以直接运行,它只是提供一群函数供bbbbbbs应用程序或其它动态链接库调用,以完成其特殊任务。由于动态链接库是在应用程序运行期间被连接起来的,故称为动态链接库。本设计用VC++设计了一个读写IO端口的动态链接库IO.DLL。
笔者利用VC++5.0开发的DLL的完整的程序清单如下:
∥DLL源文件I0.CPP
#include <bbbbbbs.h>
#include<conio.h>
int FAR PASCAL outport(unsigned)
short sport);
int FAR PASCAL outport(unsigned short port,int databyte);
∥D11EntryPoint函数
BOOL WINAPI D11EntryPoint
(HINSTANCE hD11,
DWORDdwReason,
LPVOID Reserved)
{
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
{
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
}
return TRUE;
}
∥两个功能函数
int FAR PASCAL inport(unsigned short port)
{
reture(_inp(prot);
)
int FAR PASCAL outport(unsigned short port,int databyte)
{
int a;
a=_outp(port,databyte);
return a;
}
∥模块定义文件I0.DEF
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD SINGLE
EXPORTS
inport
outport
动态链接库只有在别的模块中调用了它的某个函数以后,该动态链接库才发生作用。DLL函数或过程必须在全局模块(*.BAS)中正确说明才有效。VB是用Declare语句把一个DLL函数引入VB中的,它告诉VB在哪里找到DLL函数,并且让VB知道DLL需要哪种类型的参数,返回哪种类型的值。当某个DLL函数用Declare语句正确声明以后,就可以像使用其它函数一样使用这个DLL函数。
在VB应用程序的全局模块中声明I0.DLL并将其放入bbbbbbs\system目录下,这样就可以向使用bbbbbbsAPI一样使用I0中的inport(输入)和outport(输出)函数了。
Declare Function inport Lib"io.d11"
(ByVal prot As Integer)As Long
Declare Function outport Lib"io.d11"
(ByVal port As Integer,ByVal
databyte As Long)As Long
下面的程序对图1和图2的例子进行设计。(只列出输入输出的读写操作程序)
Private Sub 输入_Click
X=inport(&H379)
Print x
End Sub
Private Sub输出_Click
y=outport(&H378,1)
End Sub
4结束语
并口25管脚中,作输出用的是2~9共8个管脚,作输入用的10、12、13、15共4个管脚,25脚地,利用并口可方便的实现了4入8出的开关量控制。
在上位机中采用VB等语言编程,利用计算机的并口,巧妙地实现PLC的开关量功能,可利用VB等语言的界面设计的功能,使系统做到监控一体。且系统不需额外的投资,使用灵活简单,可靠性高
1引言
PLC因为体积小、功耗低、、抗干扰能力强、编程使用方便等优点被广泛地应用于工业控制领域。但在实际应用过程中,往往是被控对象的输出点少于输入点,实现控制任务需要检测的点较多,或者操作按钮比较多,这样在选型时PLC的输出点数目可以很容易的满足要求,而对于输入点来说有可能不易满足,针对这样情况通常可以采取如下措施:(1)选取输入点数目比较多的PLC,这样在满足了控制系统对输入点数目的要求增加了输出点数目,使输出点产生冗余而闲置,造成了资源浪费。(2)选择输出点数目满足要求的PLC,通过配置专用的输入模块来增加输入点数目,使输入点数目满足控制系统的要求,这种方法增加了控制系统的成本,降低了系统的性价比。(3)仍然是选择输出点数目满足要求的PLC,但在扩展时增加部分外围电路,这部分电路主要由译码器构成,这样可以大大降低系统的初期投资。(4)采用PLC的软件编程实现,其优点是在PLC输出点数目满足系统要求的前提下,选择输入点数目较少的PLC,不增加额外的硬件,利用这PLC自身固有的资源,通过编码方法实现输入点数目的扩展。本文通过对PLC输入、输出点的组合,介绍了两种基于软件编程方法的输入点扩充方法。
2基于软件编程方法的输入点扩充方法
PLC的一个重要的特点就是各组输入、输出点的独立性较强,这一点主要表现在输入、输出点的公共端上。一方面,单独的输入、输出点可以有自己的公共端另一方面,多个输入、输出点可以共用一个公共端,这样输入、输出点相互间的组合就比较容易。通过这些组合,我们可以借用矩阵键盘扫描原理和输入节点组合矩阵的原理来增加输入点数目。
2.1 利用矩阵键盘扫描原理扩展PLC输入点数目
取PLC的m个输入点作为输入节点矩阵的行回扫线输入端,取PLC的n个输出点作为输入节点矩阵的列选择线输出端,将所用输入端的公共端COM和输出端的公共端COM相连,通过内部程序控制n条列选择线的状态,从而实现输入节点矩阵列扫描;通过检测m个输入点的状态,完成输入节点矩阵的行扫描;这样就可以唯一确定输入节点矩阵中某一接点的闭合状态。利用节点矩阵,可以很方便地由m个输入点和n个输出点扩展成m×n个输入点。
图1为采用矩阵键盘扫描原理扩展4×2个输入点的原理图。当PLC的输入、输出动作时必须构成一个闭合回路。下面以输入节点S0和S1说明系统的工作过程:
(1) 当PLC输出点Y0、Y1断开时,输入点I0的回路不通,此时输入节点S1、S2闭合,PLC也无法检测到节点的闭合。
(2) 当PLC输出点Y0闭合,Y1断开时,若输入节点S0闭合,可使PLC输入点I0有效;因为Y1断开,S1闭合无效。
(3) 当PLC的输出点Y1闭合,Y0断开时,若输入节点S1闭合,可使PLC输入点I0有效;因为Y0断开,S2闭合无效。
通过上述分析,可以知道分时控制输出点Y0、Y1的状态,就可以唯一确定输入节点S1、S2的闭合状态,同理也可以将推广到输入节点S2、S3、S4、S5、S6、S7。在使用这种方法时必须确定键盘的扫描时间,而扫描时间的长短取决于PLC的输出点形式。对于晶体管、晶闸管以及固态继电器输出的PLC,在满足控制要求的前提下,可将扫描时间取的短一些;对于继电器输出的PLC,考虑到触点的寿命,扫描时间应适当延长。
2.2 利用输入点组合矩阵方法扩展PLC输入点数目
利用矩阵键盘扫描原理扩展PLC输入点数目的前提是PLC必须有剩余的输出点。如果没有,这种方案必然不可行,这时必须借助于输入点,下面介绍一种基于输入点组合矩阵的输入点扩展方法。
取PLC的m个输入点构成m个输入节点组,取PLC的n个输入点构成n个输入节点状态检测端,即每个输入节点组包含有n个节点,这样就可以实现m×n个输入点的扩展。当某一接点闭合时,对应的输入节点组和输入节点检测端都有信号送入PLC,通过输入节点的判断就可以唯一确定输入节点状态。
图2是利用输入节点组合矩阵扩展3×4个输入点的原理图。图2中包含有3个输入节点组,4个输入状态检测端,即每组包含4个输入节点。图2中二极管的作用是防止节点闭合时相互间的干扰。下面以输入节点S0说明系统的工作过程。
(1) 当输入节点S0断开时,对应的输入节点组输入端X0和输入状态检测端X6均无输入,表明S0断开。
(2) 当输入节点S0闭合时,对应的输入节点组输入端X0和输入状态检测端X6均有信号进入PLC,表明S0闭合。
通过上述分析,可以得到如下结论:由输入点X0和输入点X6组合的唯一性就可以唯一确定输入节点S0的状态,从而达到扩展输入点数的目的,这一结论可以从附表的真值表得出。附表1中,“1”表示PLC输入点内部触点闭合,“0”表示断开。
这种方法可方便的扩展PLC输入点数目,与前一种方法相比,对PLC的适用性较强,扫描时间的选择取决于应用程序的扫描时间。
3 结束语
利用PLC自身的输入点和输出点扩展PLC实际的输入点数目无需增加额外的硬件,提高了系统的性价比。对于上面提到的2种扩展PLC输入点数的方法,在实验室中进行了验证,简便易懂,运行可靠,具有一定的应用价值
1 引言
随着国内外基建行业技术水平的迅猛发展,市场对金刚石粉末锯片、砂轮、磨料等人造金刚石制品的需求量越来越大。随之而来的是生产人造金刚石的设备走俏市场,其中,六面顶金刚石压机以其操作简便、生产成本相对较低等优点占据了的较大份额。
人造金刚石是利用石墨可在高温、高压的环境中,在触媒的催化作用下,其原子结构发生改变,合成人造金刚石这一机理来实现的。六面顶金刚石压机可以利用机械、液压装置从六个方向向主机中心加压,在主机中心硬质合金顶锤的作用下使生产原料形成一个密封的正方体超高压容腔,通过的电加热装置对该腔体加热,该腔体就可以产生合成人造金刚石所需的高温、高压条件。整个设备的工作过程需要由电控系统与机械、液压系统相配合完成一系列工作。其中,电控系统主要通过对由大、小柱塞泵和二十余个电磁阀组成的液压系统以及电加热装置等的控制来完成自动、分段、调整等不同模式下的工作。整个设备可以说是一种典型的机、电、液一体化集成产品。
2 压机电控系统的硬件设计
传统的金刚石压机电控系统由近三十个中间继电器、时间继电器、接触器等不同型号规格的低压电器组成逻辑控制线路,不仅故障率高且维修不便。当生产工艺进行调整,需要改变控制逻辑时必须改变硬件接线,变动起来十分麻烦。目前,整个压机的机械、液压系统从原材料到零部件都已经有了很大的改进,落后的电控系统已成为阻碍生产发展的“瓶颈”问题。
七十年代初,美国汽车工业为了适应生产的发展,将可编程序控制器应用于生产线的自动控制中并获得了成功。到八十年代,微处理器被应用到PLC中,使其功能变的更完善、更优越,且做到了小型化甚至超小型化。现在,PLC己被广泛应用于各个行业。综合各项指标,系统选用了日立公司E系列的E-64HR型PLC作为主控单元设计了压机新的电控模式。E-64HR共有64个I/O口,其中40个开关量输入口,24个输出口,内置式电擦除EEPROM可以保证用户方便的完成程序和参数的修改和储存。PLC根据各输入口所接按钮、行程开关、电接点压力表、接触器等电器的信号的状态以及用户编制的软件程序自动控制各泵、电磁阀以及加热装置的动作完成整个生产过程。
E-64HR各输入口的内部线路图如图l所示,采用光电耦合方式有效的防止了外部干扰的窜入。输入电压DC21.6~26.4V、输入电流l0mA,在七年来数百台压机的跟踪服务统计中,没有发现由于输入单元自身故障出现误报,其线路工作还是可靠的。其输出口内部线路图如图2所示,选用继电器接点输出方式时继电器线圈电压DC21V~27V、耗电10mA、触点容量2A、平均寿命20万次以上,可直接驱动接触器线圈、电磁阀线圈及指示灯等低功耗元件。
为了输出继电器的可靠工作,设计中在所有线圈负载上均并联了阻容吸收装置。在对用户送回来的故障PLC的检修中,我们发现70%以上的故障仍出现在输出单元,一类是机内压敏电阻烧穿,另一类是输出继电器触点烧毁。经现场考察及分析发现,部分乡镇企业电源质量较差,原设计中输出口所需AC220V直接采用电网任意一相供电,电源波动大,直接导致了上述硬件故障。后改为采用加热装置中的交流稳压电源兼向输出口驱动电源供电,有效的减少了该类故障的发生。
不同地区、类型用户的使用情况,一些经验和教训是共性的PLC优越的性能、良好的抗干扰性已被大家所认同,发挥这一优势的前提条件是对其供电电源和屏蔽接地点的合理设计。PLC采用AC220V直接供电,其内部电源部分的稳、压、整流、滤波电路设置是比较完善的。但设计中仍需采用隔离变压器对其供电电源进行隔离,以保证工况恶劣的场合下干扰不由电源窜入,提高系统可靠性,一般可采用BKC-220/220V(60-100VA)的隔离变压器。应引起注意的是所有厂家的PLC均有一个专用接地端子(GND),该端子是整机的屏蔽接地点,用户好为其单独设立接地极(接地电阻<100Ω,接地线长度<20m),并注意合理选择接地极的位置。有些用户将其接在电器设备的外壳上甚至接在零线上,这是十分错误的,不仅起不到屏蔽作用反而成为事故引入点。河北新河某厂错误的将该接地端子接于避雷系统接地极上,雷雨时造成高压引入,造成整个车间数台PLC完全被烧毁。以上问题,用户手册己强调,但仍有许多用户未引起注意,造成不必要的损失。
目前流行的六面顶压机均有大(11 KW)、小(1.5KW)两个柱塞泵,小泵主要是为了完成“保压”阶段的压力维持,避免大泵冲击过大,造成压力波动过大,影响金刚石的生长质量。经实验将大泵由变频器实现变频调速,取消小泵,从系统的“保压”效果、金刚石的生长情况以及整个设备的电能消耗等几个方面来看,结果都是令人满意的。虽由市场原因,该方案没能得以推广,将PLC、变频器、压力传感器、温度传感器以及超低频电源技术结合起来,对电控系统进行较大的改进是下一步技术发展的必然。
2、PLC的软件设计
整个程序需按照液压动作图和工艺要求完成以下动作:启动工作按钮后,三个活塞缸在油压驱动下前进,至预定位置后由限位开关给出信号,三个缸依次停止;暂停一定时间后六缸加压,形成叶腊石密封仓;稍后,由增压器加压,到达一定压力时开始对密封仓通电加热并开始加热计时,继续升压至保压压力,开始保压并保压计时:其间如有压力泄露由小泵自动补压。加热和保压时间到后,系统泄压,六缸回位完成一个工作循环。
在编制程序的过程中,较多的使用了E系列的“FUN03”指令,如所示梯形图,其中6、215、T00等为外部输入信号、PLC内软中间继电器及PLC内时间继电器的代号,将它们按所需的与、或关系接在“FUN03”的置位端(S端),当S端输入信号为l时,如5+6·11=l时相应输出中间继电器200置1,此后S端为0,200仍为1,只有当215·23·l8=l时,即“FUN03”的R端置1时200才置零,故该项功能可以用R-S触发器来表述。
编程时把下一个动作的内部输出点(如201)接在上一个内部输出点(如200)的复位端(R),这样在每接入一个新动作的把上一个输出封锁。再由200、201等上述的“FUN03”的输出单元进行逻辑组合去控制50、51等PLC输出继电器,进而完成对电磁阀、交流接触器等外围低压电器的控制。这样的设计不仅防止了在不同阶段输出继电器的误动作、相互干扰以及出现PLC软件编制中常犯的“双线圈”错误。并且,在由于需要修改工艺而必须调整动作顺序时,只需调整相应“FUN03”的控制方式即可,给修改工艺带来了极大的方便。有些型号的PLC不具有类似的“FUN03”功能,我们也可以的依据上述思路进行开发,对此将由另文进行详细介绍。依据我们多年来在不同工况下对不同厂家、型号的PLC使用经验看,这一思路是比较成功的。我们将这一方法介绍给一些现场的技术人员,也得到了他们的认可和肯定。
3 结束语:
PLC替代原有继电器控制模式后显示出了巨大的优势,被生产厂家和用户所接受。93~96年间该压机成为石家庄煤矿机械厂的主导产品之一,为该厂创造了巨大的经济效益。由压机用户进行的统计表明:使用继电器进行控制的压机,由于电气故障造成的停产周平均4小时,由此造成每台压机年均经济损失八千元左右。采用PLC控制的压机,其工作性能稳定且各I/O指示简单、明了,大大缩短了维修时间,电气故障造成的停产降至周平均20分钟,特别是修改工艺时仅需进行程序的调整,省时、方便为用户创造了可观的经济效益。许多老式压机的用户要求帮助他们用PLC改造老压机,体现了在金刚石压机上使用PLC的成功。