LDSYN-1013BHE005555R0101实现了excel对数据的强大处理能力在excel中实现通过dde方式访问a-bplc首先必须先安装rslinx创建ddetopic.比如我们定义一个topic名叫“b01主系统”,打开excel,创建宏命令,编写vba脚本如何读取和写入数据,从而完成与plc的数据交换。
substart()
dimlngrowaslong
dimvarcycleasvariant
dimvarloggingasvariant
dimvarresultsasvariant
onerrorgotoerror
rsichan=ddeinitiate(“rslinx”,“b01主系统”)
varlogging=dderequest(rsichan,“n60/163”)
varcycle=dderequest(rsichan,“n60/161”)
l/?
ifvarcycle(1)=“1”andvarlogging(1)=“1”then
lngrow=3
ifrange(“indata!a3”).value》3then
lngrow=range(“indata!a3”).value
if
forlngrow=lngrowto65500
ifcells(lngrow,1)=“”thenexitfor
range(“indata!a3”).value=lngrow+1
next
rsichan=ddeinitiate(“rslinx”,“n1”)
f810data=dderequest(rsichan,“f8:10”)
f811data=dderequest(rsichan,“f8:11”)
f812data=dderequest(rsichan,“f8:12”)
f816data=dderequest(rsichan,“f8:16”)
f818data=dderequest(rsichan,“f8:18”)
f817data=dderequest(rsichan,“f8:17”)
f820data=dderequest(rsichan,“f8:20”)
f821data=dderequest(rsichan,“f8:21”)
f822data=dderequest(rsichan,“f8:22”)
f823data=dderequest(rsichan,“f8:23”)
f824data=dderequest(rsichan,“f8:24”)
varresults=dderequest(rsichan,“f8:25”)
ddeterminate(rsichan)LDSYN-1013BHE005555R0101
cells(lngrow,1).value=f810data
cells(lngrow,2).value=f811data
cells(lngrow,3).value=f812data
cells(lngrow,4).value=f816data
cells(lngrow,5).value=f818data
cells(lngrow,6).value=f817data
cells(lngrow,7).value=f820data
cells(lngrow,8).value=f821data
cells(lngrow,9).value=f822data
cells(lngrow,10).value=f823data
cells(lngrow,11).value=f824data
cells(lngrow,13).value=now()
if
sub
在vb中实现调用excel后台数据库
LDSYN-1013BHE005555R0101因为前期已经实现了vb与plc的通讯可以实时看到数据的状态了,随后又实现了excel与plc的通讯也可以实时看到数据的状态,但这两种方法都有其局限性:前者可看、可控但因无数据库无法实现数据的存储,后者可看、可查但因无可执行程序无法实现可控。只有二者结合在一起才能扬长避短充分发挥功效。于是在vb中实现调用excel后台数据库这种方式就应运而生了,这种方式即充分发挥了vb可控的一面LDSYN-1013BHE005555R0101又实现了excel对数据的强大处理能力可以说上位机真正实现了对plc可看、可查、可控的功能。vb与excel的连接方法如下:
(1)在工程中引用microsoftexcel类型库:从“工程”菜单中选择“引用”栏;选择
objectlibrary(excel2000),然后选择“确定”。表示在工程中要引用excel类型库。
(2)在通用对象的声明过程中定义excel对象:
(3)在程序中操作excel表常用命令:
setxlapp=createobject(“”)`创建excel对象
setxlbook=(“文件名”)`打开已经存在的excel工件簿文件
=true`设置excel对象可见(或不可见)
setxlsheet=(“表名”)`设置活动工作表
(row,col)=值`给单元格(row,col)赋值
`打印工作表
(true)`关闭工作簿
`结束excel对象
setxlapp=nothing`释放xlapp对象
(xlautoopen)`运行excel启动宏
(xlautoclose)`运行excel关闭宏
利用以上命令可以很轻松的实现vb与excel的连接功能在此不再赘述。
结束语
LDSYN-1013BHE005555R0101vb因其功能强大、操作简洁近几年在诸多领域得到了广泛的应用,尤其因其对dde技术的完美支持更凸显出在自动控制方面的优势。通过它我们能很方便的实现上位机与plc的数据通讯,更能与数据库进行完美对接,真正实现了上控机对dx发射机可看、可查、可控。希望通过此文对广大一线工作人员有所帮助。

ENTERASYSA2H254-16P0973BK
ENTERASYSA4H124-24FXP0973JN
BENTLY3500/33
BENTLY3500/33-1-00
LYNGSOMARINEMXM402
BENTLY3500/44-01-00
EATONXVS-440-10MPI-1-10
LamResearch810-072907-005
BR5P81
ALCATEL-LUCENTIOM2-20G
ABBREF541KM118AAAA
ABBREU615E_D
FOXBOROFBM214BP0927AH
DELTATAUACC-8EPMAC-2602469-103
CTI2500-RBC901E-2500-RBC
GEIC695CPU315-BB
FOXBOROFBM230P0926GU
FOXBOROFBM233P0926GX
HIMAX-FAN1003993201013
HIMALM002_MAX985020002
HIMAX-DI1601985210222
HIMAX-BLK01632590802
HIMAX-SB01985210207
HIMAX-DO1201985210204
ABBCOM00112RAA005844A0007J
ABBAIM00062RCA021397A0001P
TRICONEX4351B
MTL8502-BI-DP
MTL8715-CA-BI
ABBXO08R21SBP260109R1001
HIMAX-AO1601
HIMAX-AI3201
Alcatel-LucentOS9-GNI-C20L
PROSOFTMVI56-BAS
RELIANCE61C22B
LamResearch810-801237-021
LamResearch810-046015-010
BENTLY3500/62
BERGERLAHRVRDM564/50LHA
Vibro-meterCMC16200-530-025-014
Vibro-meterIOCT16T200-565-000-013
HPE1421B
MTL8502-BI-DP
BENTLY3500/62
SCHNEIDERMAX4/11/03/016/08/1/1/00
BENTLY3500/91-01-01
Alcatel-LucentOS9-GNI-U24
BENTLY3500/33-01-00
LamResearch810-068158-015
BENTLY330854-040-24-00
BENTLY146031-01
BENTLY3500/22-01-01-00
RELIANCE57C328
TRICONEX8105N
ABBICST08A9
BENTLY125840-01
BENTLY3500/62
BENTLY136294-01
BENTLY3500/22M
FOXBOROFBM233P0926GX
BENTLY3500/15127610-01
Vibro-meter200-510-070-113
ABBDSSR12248990001-NK
GEIC693CPU374-GU
ABB3BHL000986P7001
SSTSST-PB3-CLX-RLL
A-B1769-OF8C
HIMAF3330
FOXBOROP0916FK
REXROTHMSK076C-0450-NN-M2-UG1-RNNK
REXROTHMSK101D-0300-NN-M1-AG0-NNNN
KOLLMORGENS70601-NA
ABBAPBU-44C
ABBNDBU-95C
ABBRDCO-01
免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系