西门子电机6SL3120-1TE23-0AC0详细说明
西门子EM231模拟量输入模块6ES7231-7PB22-0XA8 用PLC实现对系统的控制是非常方便的。这是因为:首先PLC控制逻辑的建立是程序,用程序代替硬件接线。编程序比接线,更改程序比更改接线,当然要方便得多! 其次PLC的硬件是高度集成化的,已集成为种种小型化的模块。而且,这些模块是配套的,已实现了系列化与规格化。种种控制系统所需的模块,PLC厂家多有现货供应,市场上即可购得。所以,硬件系统配置与建造也非常方便。 正因如此,用可编程序控制器才有这个"可"字。对软件讲,它的程序可编,也不难编。对硬件讲,它的配置可变,而且也易于变。 具体地讲,PLC有五个方面的方便: (1)配置方便:可接控制系统的需要确定要使用哪家的PLC,那种类型的,用什么模块,要多少模块,确定后,到市场上定货购买即可。 (2)安装方便:PLC硬件安装简单,组装容易。外部接线有接线器,接线简单,而且一次接好后,更换模块时,把接线器安装到新模块上即可,都不必再接线。内部什么线都不要接,只要作些必要的DIP开关设定或软件设定,以及编制好用户程序就可工作。 (3)编程方便:PLC内部虽然没有什么实际的继电器、时间继电器、计数器,但它通过程序(软件)与系统内存,这些器件却实实在在地存在着。其数量之多是继电器控制系统难以想象的。即使是小型的PLC,内部继电器数都可以千计,时间继电器、计数也以百计。而且,这些继电器的接点可无限次地使用。PLC内部逻辑器件之多,用户用起来已不感到有什么限制。一考虑的只是入出点。而这个内部入出点即使用得再多,也无关紧要。大型PLC的控制点数可达万点以上,哪有那么大的现实系统?若实在不够,还可联网进行控制,不受什么限制。PLC的指令系统也非常丰富,可毫不困难地实现种种开关量,以及模拟量的控制。PLC还有存储数据的内存区,可存储控制过程的所有要保存的信息。……由于PLC功能之强,发挥其在控制系统的作用,所受的限制已不是PLC本身,而是人们的想象力,或与其配套的其它硬件设施了。 PLC的外设很丰富,编程器种类很多,用起来都较方便,还有数据监控器,可监控PLC的工作。使用PLC的软件也很多,不仅可用类似于继电电路设计的梯形图语言,有的还可用BASIC语言、C语言,以至于自然语言。这些也为PLC编程提供了方便。 PLC的程序也便于存储、移植及再使用。某定型产品用的PLC的程序完善之后,凡这种产品都可使用。生产一台,拷贝一份即可。这比起继电器电路台台设备都要接线、调试,要省事及简单得多。 (4)维修方便:这是因为: ①PLC工作可靠,出现故障的情况不多,这大大减轻了维修的工作量。这在讲述PLC的第三个特点时,还将进一步介绍。 ②即使PLC出现故障,维修也很方便。这是因为PLC都设有很多故障提示信号,如PLC支持内存保持数据的电池电压不足,相应的就有电压低信号指示。而且,PLC本身还可作故障情况记录。所以,PLC出了故障,很易诊断。同时,诊断出故障后排故也很简单。可按模块排故,而模块的备件市场可以买到,进行简单的更换就可以。至于软件,调试好后不会出故障,再多只要依据使用经验进行调整,使之完善就是了。 (5)改用方便:PLC用于某设备,若这个设备不再使用了,其所用的PLC还可给别的设备使用,只要改编一下程序,就可办到。如果原设备与新设备差别较大,它的一些模块还可重用
在实际应用中,客户对于wincc变量记录的显示需求各式各样,比如在excel或者word中显示变量记录,以特定的表格显示历史数据等等。当wincc集成的在线表格控件不能满足客户需要时,就需要通过自定义的方式来显示变量归档。主要分为两部分:
(1)从wincc中读取归档数据
(2)将归档数据以特定的格式显示出来
本文档介绍从wincc读取归档数据的通用方法,并以listview为例,介绍如何显示归档数据。对于其它控件,客户也可以参考本文档的脚本和编程思路。
表 01
关于wincc连通性软件包的使用,请参考下面的帮助文档:37436159
2.实现方式总体思路介绍
本文档通过调用wincc ole db数据库接口驱动(需要wincc连通性软件包的授权)来访问wincc的变量归档,并在微软的listview控件中显示归档数据。程序结构如下所示:
图1
具体代码见附件。
3.具体实现方法和代码
3.1 创建到归档数据库的连接
由于wincc的变量归档为压缩数据,所以必须通过wincc ole db来读取归档数据。对于已经安装wincc的计算机,不需要安装wincc连通性软件包。对于未安装wincc的客户端,必须安装wincc连通性软件包。该软件包含在wincc v7.0的安装光盘中。
数据库连接的脚本如下所示:
'定义数据库连接变量
dim conn
set conn = createobject("")
'定义数据库查询脚本(可以根据需要自定义修改)
dim ssql
ssql="tag:r,'processvaluearchive\tag1',':01:00.000',':00:00.000'"
'通过调用自定义的数据库连接函数,建立与数据库的连接
dim ors
set ors= winccdatasourceaccess(conn,ssql)
其中,自定义的数据库连接函数winccdatasourceaccess(connobj,psql),参数connobj为连接对象(),参数psql为要执行的sql查询语句,具体代码如下所示:
function winccdatasourceaccess(connobj,psql)
'建立到数据库的连接
on error resume next
'读取本地的wincc运行数据库名称
dim datasourcenamert,dataconnectionname
set datasourcenamert = hmiruntime.tags("@datasourcenamert")
datasourcenamert.read
'定义数据库连接字符串
dim spro, sdsn,sser
spro = "provider=winccoledbprovider.1;"
sdsn = "catalog=" & datasourcenamert.value & ";"
sser = "data source=.\wincc"
dataconnectionname = spro + sdsn + sser
' 定义查询语句字符串
dim ssql
ssql=psql
'建立连接
dim ors,ocom,conn
set conn = createobject("")
set conn=connobj
= dataconnectionname
conn.cursorlocation = 3
conn.open
' 创建查询的命令文本
set ors = createobject("adodb.recordset")
set ocom = createobject("")
= 1
set ocom.activeconnection = conn
'执行查询
set ors = ocom.execute
'返回结果
set winccdatasourceaccess=ors
if err.number <> 0 then
msgbox "error code" & err.number & "source:" & & "error deion" & err.deion
err.clear
end if
on error go to 0
end function
自定义函数的创建过程为:在wincc项目管理器中右键点击全局脚本?打开vbs全局脚本编辑器?项目函数?新建函数。具体如下图所示:
图2
3.2 注册microsoft listview control 6.0控件
打开wincc图形编辑器。在右侧的对象选项板中单击“控件",选中“activex control",点击右键,选择“添加移除"。在弹出菜单中,选择“microsoft listview control 6.0",点击“ok"确认。
在接触器线圈没通电的状态下,用万用表量辅助触头,通的就是常闭,不通的是常开。也可以看标识(号),常闭标识:11-12,21—22,31—32,41—42;常开标识:13—14,23—24,33—34,43—44。万用表两个测试棒分别接 11-12 ,或13—14,类推。 常规L1,L2,L3为A相,B相,C相电源进线;常规T1,T2,T3为A相,B相,C相电源出线;A1,A2为接触器线圈两端;有两个A2是厂家为方便接线,A2有两个接线点,是一样的,接线时可以A1,A2接在接触器一侧,也可以接在接触器两侧;13NO,14NO为常闭接点; 科普一下:NC和NO都是辅助触点,NC是常闭点,NO是常开点。NO和NC的触点编号是有规律的。11和12是一对常闭点,13和14是一对常开点,21和22是一对常闭点,23和24是一对常开点,以此类推,凡是有2的点,都是常闭点,有4的点,都是常开点。偶数编号是引出端,奇数编号是公共端 |