分享免费的编程资源和教程

网站首页 > 技术教程 正文

LDSYN-101 3BHE005555R0101实现了excel对数据的强大处理能力

goqiw 2024-11-17 10:11:34 技术教程 19 ℃ 0 评论

LDSYN-101 3BHE005555R0101实现了excel对数据的强大处理能力 在excel中实现通过dde方式访问a-b plc 首先必须先安装rs linx创建dde topic. 比如我们定义一个topic名叫“b01主系统”,打开excel,创建宏命令,编写vba脚本如何读取和写入数据,从而完成与plc的数据交换。

  sub start()

  dim lngrow as long

  dim varcycle as variant

  dim varlogging as variant

  dim varresults as variant

  on error goto error

  rsichan = ddeinitiate(“rslinx”, “ b01主系统”)

  varlogging = dderequest(rsichan, “n60/163”)

  varcycle = dderequest(rsichan, “n60/161”)

  l/?

  if varcycle(1) = “1” and varlogging(1) = “1” then

  lngrow = 3

  if range(“indata!a3”).value 》 3 then

  lngrow = range(“indata!a3”).value

  end if

  for lngrow = lngrow to 65500

  if cells(lngrow, 1) = “” then exit for

  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-101 3BHE005555R0101

  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()

  end if

  end sub

  在vb中实现调用excel后台数据库

  LDSYN-101 3BHE005555R0101因为前期已经实现了vb与plc的通讯可以实时看到数据的状态了,随后又实现了excel与plc的通讯也可以实时看到数据的状态,但这两种方法都有其局限性:前者可看、可控但因无数据库无法实现数据的存储,后者可看、可查但因无可执行程序无法实现可控。只有二者结合在一起才能扬长避短充分发挥功效。于是在vb中实现调用excel后台数据库这种方式就应运而生了,这种方式即充分发挥了vb可控的一面LDSYN-101 3BHE005555R0101又实现了excel对数据的强大处理能力可以说上位机真正实现了对plc可看、可查、可控的功能。vb与excel的连接方法如下:

  (1)在工程中引用microsoft excel类型库:从“工程”菜单中选择“引用”栏;选择microsoft excel 9.0

  object library(excel2000),然后选择“确定”。表示在工程中要引用excel类型库。

  (2)在通用对象的声明过程中定义excel对象:

  dim xlapp as excel.application

  dim xlbook as excel.workbook

  dim xlsheet as excel.worksheet

  (3)在程序中操作excel表常用命令:

  set xlapp = createobject(“excel.application”) `创建excel对象

  set xlbook = xlapp.workbooks.open(“文件名”) `打开已经存在的excel工件簿文件

  xlapp.visible = true `设置excel对象可见(或不可见)

  set xlsheet = xlbook.worksheets(“表名”) `设置活动工作表

  xlsheet.cells(row, col) =值 `给单元格(row,col)赋值

  xlsheet.printout `打印工作表

  xlbook.close (true) `关闭工作簿

  xlapp.quit `结束excel对象

  set xlapp = nothing `释放xlapp对象

  xlbook.runautomacros (xlautoopen) `运行excel启动宏

  xlbook.runautomacros (xlautoclose) `运行excel关闭宏

  利用以上命令可以很轻松的实现vb与excel的连接功能在此不再赘述。

  结束语

 LDSYN-101 3BHE005555R0101 vb因其功能强大、操作简洁近几年在诸多领域得到了广泛的应用,尤其因其对dde技术的完美支持更凸显出在自动控制方面的优势。通过它我们能很方便的实现上位机与plc的数据通讯,更能与数据库进行完美对接,真正实现了上控机对dx发射机可看、可查、可控。希望通过此文对广大一线工作人员有所帮助。

ENTERASYS A2H254-16 P0973BK

ENTERASYS A4H124-24FX P0973JN

BENTLY 3500/33

BENTLY 3500/33-1-00

LYNGSO MARINE MXM402

BENTLY 3500/44-01-00

EATON XVS-440-10MPI-1-10

Lam Research 810-072907-005

B&R 5P81

ALCATEL-LUCENT IOM2-20G

ABB REF541KM118AAAA

ABB REU615E_D

FOXBORO FBM214B P0927AH

DELTA TAU ACC-8E PMAC-2 602469-103

CTI 2500-RBC 901E-2500-RBC

GE IC695CPU315-BB

FOXBORO FBM230 P0926GU

FOXBORO FBM233 P0926GX

HIMA X-FAN1003 993201013

HIMA LM002_MAX 985020002

HIMA X-DI1601 985210222

HIMA X-BLK01 632590802

HIMA X-SB01 985210207

HIMA X-DO1201 985210204

ABB COM0011 2RAA005844A0007J

ABB AIM0006 2RCA021397A0001P

TRICONEX 4351B

MTL 8502-BI-DP

MTL 8715-CA-BI

ABB XO08R2 1SBP260109R1001

HIMA X-AO1601

HIMA X-AI3201

Alcatel-Lucent OS9-GNI-C20L

PROSOFT MVI56-BAS

RELIANCE 61C22B

Lam Research 810-801237-021

Lam Research 810-046015-010

BENTLY 3500/62

BERGER LAHR VRDM564/50LHA

Vibro-meter CMC16 200-530-025-014

Vibro-meter IOCT16T 200-565-000-013

HP E1421B

MTL 8502-BI-DP

BENTLY 3500/62

SCHNEIDER MAX4/11/03/016/08/1/1/00

BENTLY 3500/91-01-01

Alcatel-Lucent OS9-GNI-U24

BENTLY 3500/33-01-00

Lam Research 810-068158-015

BENTLY 330854-040-24-00

BENTLY 146031-01

BENTLY 3500/22-01-01-00

RELIANCE 57C328

TRICONEX 8105N

ABB ICST08A9

BENTLY 125840-01

BENTLY 3500/62

BENTLY 136294-01

BENTLY 3500/22M

FOXBORO FBM233 P0926GX

BENTLY 3500/15 127610-01

Vibro-meter 200-510-070-113

ABB DSSR122 48990001-NK

GE IC693CPU374-GU

ABB 3BHL000986P7001

SST SST-PB3-CLX-RLL

A-B 1769-OF8C

HIMA F3330

FOXBORO P0916FK

REXROTH MSK076C-0450-NN-M2-UG1-RNNK

REXROTH MSK101D-0300-NN-M1-AG0-NNNN

KOLLMORGEN S70601-NA

ABB APBU-44C

ABB NDBU-95C

ABB RDCO-01

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表