三菱plc复位与置位的使用GX WORKS2里使用了置位复位,程序检查还是会提示双线圈的错误,程序能正常运行。这是为什么

丛编项: 手把手教你做项目
  《手把手教你做项目:一步一步学PLC编程(三菱plc复位与置位的使用GX Works2)(双色版)》从入门和工程实际的角度出发以目前工业自动化控制系統中应用较多的三菱plc复位与置位的使用Q系列PLC为例,手把手教读者如何使用PLC进行工业控制、硬件组态和软件编程《手把手教你做项目:一步一步学PLC编程(三菱plc复位与置位的使用GX Works2)(双色版)》第一、二章介绍了三菱plc复位与置位的使用Q系列PLC的硬件系统,第三、四章用大量的篇幅介绍了GXWorks2的编程环境和编程技巧第五~八章为读者展示了几个常用的例程,一步一步教读者创建项目、进行GXWorks2编程、仿真和数据通信在這些例程的讲述过程中把必要的知识点贯穿其中,让读者一学就会拿来就用。《手把手教你做项目:一步一步学PLC编程(三菱plc复位与置位嘚使用GX Works2)(双色版)》由一线工程师团队倾力打造内容通俗易懂、注重实际、强调应用、重点突出,可供电气自动化及相关工程技术人員自学使用也可作为大中专院校相关专业师生的参考资料及培训用书。
第一章 三菱plc复位与置位的使用PLC产品纵览
第三章 三菱plc复位与置位的使用编程软件GXWorks2管理器
第五章 手把手的教你做工程
第六章 GX Works2指令在程序中的应用

在国内自动化行业使用非常广泛作为经典的日系

产品品牌之一,他留给我的印象是简单、好用、便宜(相比欧美产品)而且编程软件也由原来的GX Developer推出了更强大的GX Works2和GX Works3,除了基本的梯形图简单工程外还支持ST,FBD,SFC等高级语言结构化编程但是可能由于时间短或者其他原因,在应用这些高级语言时却有不少让人抓誑的BUG下面就列举一些本人发现的BUG和不足,让大家少走弯路


声明数组起始数不为0时会出错

在标签页中声明数组标签时,勾选数组设定数量n后会默认声明成[0..n-1],例如声明10个word数组:


但是数据类型中的(0..9)是可以编辑的我们可以改为(1..10):


更改之后编程、编译、下载、运行都没有报错,但是他会出现一个致命的bug:数组中某个数据赋值不正确或无法赋值!是不是很诡异 但是这个错误不是一定出现的,只有在大量使用复雜编程的时候才有可能出现以前项目中出现一次我找了一整天才发现原因!附上当时的异常照片:


图中程序是将bit数组Done(1..7)赋给7个bit变量,但是Done[6]嘚值却无法传递给其他变量解决这个问题的方法就是将所有数组的起始号都改为0,即使0用不到空着浪费也要声明出来。
for循环下结构体數组多层嵌套会出错在我的蜘蛛纸牌视频中(编写《蜘蛛纸牌》)有一段程序就碰到了这个问题,如下图:

BEHIND_LINE[ii].Numb中赋的值就不正确跟等号後面的数组变量pageList里面的值完全没有关系,我当时因为这个情况一度怀疑我是不是哪里写错了看不出来脑袋秀逗了?弄了半天才发现问题所在大家以后如果遇到类似的问题,先不要怀疑自己有可能是软件比较坑爹,解决的办法就如上图所示变量不要嵌套太多层,多用點中间变量来过度一下
长时间编辑程序软件会崩溃这个问题最坑爹了,写了半天的程序终于写的差不多了想点一下编译,看看有没有錯误结果软件卡死崩溃了,关键是还没有自动保存只能眼睁睁的看着你好不容易写了半天的程序变成浅灰色,看着那转着圈圈的鼠标囷弹出的错误提示框狠心的点下“关闭程序”。当时的心情就是:关机不干了。


所以在使用GX Works2时一定要养成随手点保存的良好习惯,洳果你真的忘了保存且软件崩溃的话记得及时给显示出来的程序照一张照片,能救一点是一点
软件崩溃的时候还可能导致程序文件受損,这个就更惨了比如网上这个人:


保存时断电导致整个程序打不开,几天的活白干了这就太打击人了,所以重要的项目程序不仅要“保存”还要“另存”
添加注释时程序会变“绿”相信用过三菱plc复位与置位的使用ST的都遇到过这个问题吧,只要你写注释就会大概率發生这个问题 :


还是刚才的蜘蛛纸牌中的程序,我只是在赋值语句后面增加一段注释加了一行空行,程序的部分标签就变为了与注释相哃的绿色这个绿色如果只是出现在标签上影响还不太大,如果出现在基本指令或者功能函数上很可能编译会报错。
刚开始使用GX Works的人可能会不知所措但解决的办法很简单,点击保存按钮颜色就会恢复正常了,如果你不幸的遇到了不能编译的情况你还要找到变绿的指囹,保存后在后面敲击空格或者重新输入才能解决。
低版本的软件使用ModbusTCP模块报错
ModbusTCP用的人可能不是很多三菱plc复位与置位的使用的PLC需要智能模块支持,这个模块卖的很贵而且货期也长网上资料也少,在使用这个模块时按照手册一步步配置给400一遍遍打电话询问,但编译的時候一直报错后来问了很多人才锁定问题出在软件版本上而不是设置上,当时三菱plc复位与置位的使用官网下载的中文最高版本仍然不能解决问题后来网上各种找、给各个三菱plc复位与置位的使用供应商打电话找到一个英文版的才好用,现在我用的是V1.555D中文版也能够正常使用這个模块了下载运行后模块的报警灯仍然会闪,但是不影响使用了


下面说说三菱plc复位与置位的使用PLC在ST语言下的一些不足:
只能声明一維数组三菱plc复位与置位的使用PLC只能声明一维数组,这对编程人员来说有了很大的限制像西门子、倍福、施耐德都是可以声明多维数组的:


上图是门子博图软件声明的一个三维int数组,如果三菱plc复位与置位的使用支持这个功能上面蜘蛛纸牌的程序中BEHIND_LINE[ii].Numb[jj]就不必写成结构体+数组的形式,直接写成一个二维数组BEHIND_LINE[ii,jj] 就可以了
只能建立一层结构体在三菱plc复位与置位的使用的结构体中只能声明基本类型的标签,无法声明其怹的结构体这也注定了三菱plc复位与置位的使用不能像施耐德和西门子那样完成复杂的逻辑功能。看一下西门子的多层结构体:


有什么用呢给大家看一下我们机器人控制系统的局部变量:


ROBOT结构体作为机器人核心控制程序的接口,所有的设置、状态和命令等全部包含其中圖中展示的只是其中的几个参数。
数学计算中数据类型无法自动转换
比如三菱plc复位与置位的使用的加法运算我们把加号“+”用鼠标拖入程序中,看他支持的数据类型:


图中显示加法运算支持任意类型的数字量+任意类型的数字量;那我们直接写“1+1.2”可不可以呢?
编译后显礻报错提示数据类型不一致,也就是“+”的前后必须是相同的类型因为1是整形,1.2是浮点型如果想要进行上面的运算,必须将1写成1.0才荇简直不可理喻啊!
word类型标签不支持按位寻址三菱plc复位与置位的使用的内部软元件D是可以按位使用的,比如D0.0表示字软元件D0的第 0 位可以當作开关量来使用。但是如果你声明一个word类型的标签也是16位的数据类型,而且PLC会把他自动分配给D软元件缓存但他却不支持按位使用,仳如声明varTemp:word;程序varTemp.0:=true会报错:


可以看到varTemp.0无法解析不知道这是为啥。。
其他三菱plc复位与置位的使用还有一些其他的问题比如ST编程不支持单步執行、程序断点等功能,你们还遇到过哪些问题呢

我用软件自带的进行模拟为什么會出现这样的问题用这款软件我应该怎么进行模拟呢... 我用软件自带的进行模拟为什么会出现这样的问题?
用这款软件我应该怎么进行模擬呢

网上看到有人出现这样的问题但是没有解决,打电话给三菱plc复位与置位的使用里面的人直接说重装软件,我重装过必然没效果,又打电话里面的人又说重装系统,此时我没理那人不是故意黑三菱plc复位与置位的使用客服,里面懂技术的真不多

加上我喜欢把软件装系统盘,所以在系统相当正常的情况下,我是不会重装系统的

费话到这结束哦,主要一开始没找到哪儿对这个错有描述的后来茬一本软件安装说明里找到了这个错误的描述,当然三菱plc复位与置位的使用日本官网也写到了原日文为:

シミュレーション机能は、Microsoft社が提供する标准的なTCP/IP通信を使用します。シミュレーション机能が开始できないときは、他社制品ソフトウェアの通信机能が、标准的なTCP/IP通信に対し影响を与えていることが考えられます

処置方法としては、他社制品ソフトウェアを最新版にバージョンアップ、またはアンインストールしてください。

弊社が确认している対象ソフトウェアは、以下となります

详细につきましては、テクニカルニュース「FA?D?0076」を参照してください。

可以看到英文里我看的是MT Works2的安装向导说明书,里面的解决方法:

上面三段讲的大意就是模拟仿真用嘚是标准TCP/IP通讯协议如果无法启动模拟仿真,可能TCP/IP被高优先级的软件所影响我看到这里,首先就想到了我网游的加速软件当初卸载完叻后,还留了一个隐藏的什么GAME VPN在那边我原来看那个应该没什么影响,也没有删除发现竟然TCP/IP被影响了,直接进入网络连接里把那个连接删了,进入软件点仿真成功了,看来网络加速器也是个害人的东西我原来安装的迅雷的,卸载完了会在网络连接里留一个连接。個人是删掉那个没卸干净的连接就好了,祝大家好运吧

我自己电脑从来不用杀毒软件,自备冰刃和PROCESSEXPLORER基本没中过毒,所以排查TCP/IP被挟持仳较好找就剩代理了。只为大家不重装系统而写但反过来想,三菱plc复位与置位的使用那客服说重装系统绝对是能解决问题的哦,哈囧你要是上班闲得蛋疼,可以试试毕竟仿真只是小功能,不影响使用空闲找找什么原因就可以了啊。

这款软件是在你的程序写好后进行程序转换,然后就点模拟开始/停止即可开始模拟了,结束时再点这个就可以停止了

我就是这么做的关键是它为什么提示我无法通信呢?既然是模拟就不需要和PLC进行实际的通讯啊

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 三菱plc复位与置位的使用 的文章

 

随机推荐