技术论坛

WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。

作者 主题
游士

经验值: 162
发帖数: 3
精华帖: 0
主题:【求助】WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 楼主 2022-10-30 23:46:24

WinCC使用脚本编写程序弹出“文件打开”对话框,通过选定文件路径并显示,然后选定Excel文件并打开。Excel文件内可能存在几行到几十行也可能数百行具有固定列数的数据,每行数据对应PLC中的对应的数个变量,每传一行数据PLC就处理一组,当处理完此组数据后,再传输下一列数据,…,直至将所有数据处理完成。哪位大咖提供一下思路,愿意有偿求助,谢谢!



保持良好心态!
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1791470&b_id=5&s_id=0&num=11

版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 1楼 2022-10-31 05:40:04

你是哪里碰到问题了呢?读写EXCEL在论坛里面有几篇帖子说明呢

弹出对话框不会?


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
至圣

经验值: 19841
发帖数: 4383
精华帖: 2
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 2楼 2022-10-31 07:35:58

读取表格的数据,这个要掌握二次开发的能力。只能问西门子客服。


 
以下网友喜欢您的帖子:

  
游士

经验值: 162
发帖数: 3
精华帖: 0
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 楼主 3楼 2022-10-31 07:41:19

从中读取任意行具有固定列的数据并逐行传递给PLC特定变量
第行的数据都要传给PLC相同的一组变量,怎样传输一行暂停,等待PLC处理后再传输下一行给PLC,所有行传输完成后结束。


保持良好心态!
以下网友喜欢您的帖子:

  
版主

经验值: 17322
发帖数: 8474
精华帖: 18
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。
推荐帖


只看楼主 4楼 2022-10-31 08:09:35

两个嵌套循环就解决了。

比如起始列是第1列,终止列是10;起始行是第2行,终止行是50(也可以搜索终止行得到)

for iCol = 1 To 10

   for iRow = 2 To 50

         Value = xlSheet.Cells(iRow, iCol )

   Next 

Next 


无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
侠圣

经验值: 3103
发帖数: 440
精华帖: 0
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 5楼 2022-10-31 09:16:25
以下是引用城外之人在2022-10-31 08:09:35的发言 >4楼

两个嵌套循环就解决了。

比如起始列是第1列,终止列是10;起始行是第2行,终止行是50(也可以搜索终止行得到)

for iCol = 1 To 10

   for iRow = 2 To 50

         Value = xlSheet.Cells(iRow, iCol )

   Next 

Next 

很不错,一语惊醒梦中人


云淡风轻
以下网友喜欢您的帖子:

  
至圣

经验值: 15532
发帖数: 1735
精华帖: 0
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 6楼 2022-10-31 09:29:50

不错,值的收藏,感谢发言!


海纳百川,厚德务实!
以下网友喜欢您的帖子:

  
新手

经验值: 16
发帖数: 1
精华帖: 0
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 7楼 2022-10-31 10:25:14

值的收藏,感谢发言!


 
以下网友喜欢您的帖子:

  
游士

经验值: 162
发帖数: 3
精华帖: 0
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 楼主 8楼 2022-10-31 22:20:55

首先,谢谢各位的解答!“从中读取任意行具有固定列的数据并逐行传递给PLC特定变量”这句话可能我表达的不够确切。第行的数据都要传给PLC相同的一组变量,怎样传输一行暂停,等待PLC处理后再传输下一行给PLC,所有行传输完成后结束。因为导线数据可能会有很多条,里面含有字符串型数据,占用PLC的空间比较大,如果有数百条,一次性传给PLC会占用PLC太多存储空间担心PLC空间不够用,所以想每次只传一条导线的数据,当此条导线打印、裁剪结束后再传输下条数据。平时脚本使用的太少了,怕拼凑的脚本有问题,各位有相似的案例吗?谢谢!






保持良好心态!
以下网友喜欢您的帖子:

  
侠圣

经验值: 4092
发帖数: 565
精华帖: 4
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 9楼 2022-10-31 23:08:12

论坛里有现成的代码,改改就能用,认真搜索。


 
以下网友喜欢您的帖子:

  
版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 10楼 2022-11-02 06:43:09
以下是引用九月花在2022-10-31 22:20:55的发言 >8楼

首先,谢谢各位的解答!“从中读取任意行具有固定列的数据并逐行传递给PLC特定变量”这句话可能我表达的不够确切。第行的数据都要传给PLC相同的一组变量,怎样传输一行暂停,等待PLC处理后再传输下一行给PLC,所有行传输完成后结束。因为导线数据可能会有很多条,里面含有字符串型数据,占用PLC的空间比较大,如果有数百条,一次性传给PLC会占用PLC太多存储空间担心PLC空间不够用,所以想每次只传一条导线的数据,当此条导线打印、裁剪结束后再传输下条数据。平时脚本使用的太少了,怕拼凑的脚本有问题,各位有相似的案例吗?谢谢!





你思路没有整理好

用全局脚本做就是啊,PLC内部逻辑判断是否需要读取数据,如果需要读取数据变量readreq写1,WinCC判断readreq变量为1的时候,执行读取Excel文件脚本

至于读取的行数也通过PLC和WinCC一起处理,PLC做个行和列的变量,每次执行完之后,根据需要把行和列根据需要加1,WinCC在进行读取,如果数据没有的话,也给PLC反馈个数据


这是我暂时想到的办法,或许还有更简单的逻辑


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
至圣

经验值: 23744
发帖数: 3385
精华帖: 52
回复:WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。


只看楼主 11楼 2022-11-02 08:27:36

全局脚本, 合适设置周期。


也不用for循环。

你就一个周期处理一次,  等待,  写下一条,  等待上一条反馈。  不就这三种状态吗


不忘初心
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
WinCC如何打开任意路径下的Excel文件,从中读取任意行具有固定列的数据并逐行传递给PLC特定变量。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。