通过excel向s7-200PLC批量写入数据

1、我现在通过以太网可以把PLC内的数据读到EXCEL表格内,也可以通过Microsystems OPC工具条中的“写入向导”按钮逐个向PLC内写入数据。
2、可以通过写入”向导按钮“向PLC内写入数据,但是这种方法对于我来说比较繁琐,因为我需要写入的数据比较多,大概有60个数据。
3、我想在EXCEL表格内建立一个按钮,当我按下这个按钮时,EXCEL表格中指定单元格内的数据被写入PLC中的指定地址中。
4、我的设计步骤如下(以向PLC写入1个数据叙述):
  4.1按照S7200 PC Access帮助文件中的步骤加载宏OPCS7200ExcelAddin.xla,然后EXCEL中会出现Microsystems OPC工具条。
  4.2在EXCEL中建立“CommandButton1”按钮,编辑“CommandButton1”按钮的VBA程序,编辑完VBA程序后退出了编辑模式,程序如下:
  Private Sub CommandButton1_Click()
    
    Call Excel.Application.Run("OPCS7200ExcelAddin.XLA!OPCWrite", "192.168.2.4,VD768,REAL,RW", Cells(4, 3), "")

    End Sub
   4.3.打开S7 200 PC Access项目文件,测试客户机,通讯质量“好”。备注:通讯方式为以太网通讯。保存并退出S7 200 PC Access。
5.我想把EXCEL表格中第4行3列单元格中的数据写入IP地址为192.168.2.4PLC的VD768中。当我单击EXCEL表格中的“CommandButton1”按钮后,第4行3列单元格中的数据始终不能写入PLC,求解这是为啥啊,困惑了我好长时间了,请各位大侠帮忙。

问题补充:
我怀疑是VBA程序中IP地址的问题,因为当我使用PPI通讯时可以实现用“CommandButton1”按钮把指定单元格中的数据写入PLC中的指定地址内。

最佳答案

地址格式问题,IP地址前面没有PLC地址后面没有TSAP,以下是PC ACCESS帮助里的内容

MicroWin:2:161.218.182.147:0000:0000,I0.0,BOOL,RW

其中,

2 = PLC地址

161.218.182.147 = IP地址(用于以太网连接) 

0000:0000 = 本地TSAP:远程TSAP(用于以太网连接)

I0.0 = PLC内存类型以及至监视器的位置地址(其他范例包括:VD, VW, VB, MB, QB, IB)

BOOL = PLC数据类型(其他范例包括:INT, BYTE, WORD, DWORD)

RW = 读取/写入、写入或读取(RW、W、 R)存取

提问者对于答案的评价:
问题解决啦,谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc295050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午1:31
下一篇 2020年10月31日 下午1:31

相关推荐