PLC梯形图编程很low?我劝你一定要看看这篇
在咱们工控论坛上,潜藏着众多技术资深大咖,讨论起技术来,可从来都没废话。
对于PLC梯形图编程,论坛网友lvpretend有话要说:
论坛上对于编程语言梯形图与结构化文本的争论从来没有停过,有些技术人员认为梯形图是比较LOW的语言,文本才是高大上和未来的发展方向。为此,我要发表一点个人看法。
我系统地学习编程语言的时间顺序是MCS51汇编、X86汇编、C/C++、梯形图(学梯形图之前对继电控制就已经非常熟悉了)。由于MCS51汇编学得不错,这导致我很喜欢用置位和复位指令。汇编、C都干过项目,以前还经常用C来解决问题(Borland C时代),太长时间不用,现在也生疏了。
要理解PLC梯形图就必须知道PLC的由来。我搬运汇总了一些外网资料,错的地方请大家指出,我英文很渣,不足的地方还请大家进行补充。
在没有PLC的时代控制柜是这样的。这个是老式电梯的控制柜,其实不算复杂。
想起刚参加工作时,厂里有条80年代国产全自动化生产线,做工非常好。压力温度50点左右,电机30台左右,主控柜(4门)加操作台足有8米的宽度,远程控制柜宽1.5米,柜前柜后双面安装,指针温度压力表,全继电控制。据说A3图纸有一本字典的厚度(我没看到过)。我参加了生产线改造,主控柜控制线就拆了3大箩筐。这要排查故障,想想头皮都发麻!看看典型的继电原理图,我把它旋转了90度。
是不是和梯形图一样一样的?
1968年美国通用汽车液压部门搞了个“Standard Machine Controller”(标准机器控制器项目),目的就是改变故障率居高不下的继电控制系统。好几家公司参与,1969年最后搞出来拿去测试的只有三家:
DEC:Digital Equipment Corporation(数字设备公司),提供型号PDP-14。编程设备是PDP-8计算机,实际上PDP-14是PDP-8的工业接口。这家公司巨牛。下图是PDP-8。
我没有找到PDP-14的照片,上图是PDP-14的一个主要部件。
3-I:Information Instruments Inc.(信息仪器公司),提供型号PDQ-II。这家公司在这个项目后很快就被AB收购了。所以罗克韦尔也说PLC是他们发明的,这也是没什么问题。
DEC和3-I是计算机公司,与通用汽车液压部门很早就有合作,标准机器控制器项目之前就已经把计算机用于通用生产线监控了。
Bedford Associates:提供型号084,其实是他们公司第84个项目。他们是工程公司,其实在1967年就开始着手这方面的工作了,后来成立了设备制造公司就是大名鼎鼎的 莫迪康MODICON(Modular Digital Contraller模块化数字控制器)。
脑洞大开,有没有!
DEC和3-I提供的控制器更像是计算机,(DEC也有基本的梯形指令),但编程很麻烦,需要返厂。而Bedford必定是搞工程的,他们很懂继电控制,所以084从一开始就以继电控制原理来开发,梯形图就是它的编程语言,通过插入编程单元就可以编程。
1年后,084赢了。
当然那个年代还不能输入图形,而是手工解析梯形图,所以梯形图对于084来说就是“继电控制描述语言”。用今天的话来说,梯形图就是工控行业的HDL硬件描述语言!而其它厂家发现梯形图逻辑清晰,本就熟悉继电线路的电气人员特别容易掌握,所以纷纷都开始支持梯形图编程。其实。同时代还有其它厂家也搞出了基本相同的控制器,制造继电器的厂商Struthers-Dumm的VIP-521,搞液压的Vickers的PC-1000。但是由于MODICON设备可靠,梯形图太方便,所以一举成名。1976年AB公司申请了PLC的专利名称(
PLC是AB公司1976年的专利名称,不是莫迪康的),后来PLC就成了设备名称了,就好像吉普车对于JEEP公司。
可以说,没有梯形图就没有PLC 。回到现在,梯形图编程过失了吗?当然没有!对于处理逻辑量,还有什么能比图形化的梯形图更易于理解的呢?40年前没有,现在也没有?图形编程最大的优势是传递的信息量大,人识别图形的能力远胜于识别文字,而梯形图能二值化图形元素,避免了人识别图形时的模糊性。说白了,就是简单! 梯形图更与时俱进,现在的被控对象已经远非40年前简单的开关量,梯形图也在发展。比如,梯形图最受病垢的数学计算,现在不是也有厂商开始支持梯形图直接数学表达式输入了吗?我想,硬件描述简单、与时俱进,这才是梯形图长盛不衰的核心原因。梯形图相对于文本有什么不能做的吗?我认为没有什么是文本做得了而梯形图做不了的!你把文本加个框就是梯形图。学文本编程吗?当然需要!要不然那么多不懂继电控制从软件转工控的人编写的程序我们如何看懂呢?还有触摸屏、机器人、运动控制等非PLC设备,我们如何玩得溜呢!大家也可以了解下,可视化编程语言(VPL)和低代码开发平台(LCDP)的概念和发展,对理解编程语言发展有一定帮助。
分割线
此贴子一发,也引起论坛网友的大量关注和讨论:
1056128144 : 梯形图最令我讨厌是整屏显示不了几行。注释能有在每行后面的吗?显示屏基本都是二十几吋了。
gk_0 : 我就是喜欢梯形图,逻辑性强,除了数学运算的不太直观以外,好像没有啥缺点么
bnnyygy : 大小不是关键,分辨率才是关键。普通笔记本1366*768,现在新笔记本一般1920*1080,或者更好点的是2K分辨率。
蜀中之首: 在80年前后(记不太清具体哪年),无线电杂志出过连载,关于可变逻辑控制电路,矩阵二极管,利用其特性用短线组成控制逻辑,减少继电器配线达到修改控制工艺。
记得最早也叫PC,为了与电脑区别就用了PLC,可变程序逻辑控制器。梯形图的出现就为了接地气,普通电气工人也看得懂,恐怕还要保留很久。
lvpretend: 好像Struthers-Dumm走的是二极管矩阵的路子。原来PLC被AB申请了专利,估计其它厂家只能称为PC,后来专利到期了PLC就成了通用名称。
cvlsam : 您说少了,从第一台PLC开始就有梯形图了。
pqsh : 我不支持文本编程,始终认为文本编程是个中间过程,只是由于编程环境平台能力不够的原因。人们应该直接表达诉求,而不是通过代码。同样的,在网站制作方面,大咖们是十分鄙视fp、dw的。而我觉得不可想象。一个丰富的网页,竟然是代码敲的,这得多么变态啊?当然,在实现复杂功能时,表达更准确时,确实需要文本(文字)。但是,触摸屏、机器人、运动控制、将来也应该发展到不需要或者少需要文本。至少,触摸屏和工控上位,是避免用文本(脚本)的。
微鑫科技 : 真正的高级控制器是无法用梯形图去编程的。例如:机器人、视觉识别系统,一些对实时性高、精度高、高速运行、高运算量的设备等,是PLC无法的胜任的。只是说PLC的编程思想比较适合电工,简单而已。真要说运行效率,还没有单片机高;同样的PLC,一个采用梯形图编程,一个采用C语言编程,我想C语言的执行速度要高于梯形图的,但是编程时间上来说,梯形图要大大缩短周期,并且后期容易维护,想增加个功能什么的,修改起来简单,这个就是梯形图的优点,再一个就是高级语言对于电工来说是个头疼的事,不如梯形图好学。
lvpretend : 恰恰相反,梯形图的执行效率比文本高。早期的梯形图与指令表(汇编)是对应关系,即使到现在梯形图仍然比文本有更高的效率,原因就是因为梯形图是硬件描述语言,PLC的处理器设计会专门针对梯形图做优化。而梯形图借PLC的众多受众和图形化的特点也向非PLC控制器扩展(大名鼎鼎的树莓派都支持梯形图编程了),大有成为一种通用语言的态势。文本作为当下编程语言拥有最大的用户群,向PLC扩展也不会停下脚步,随着小型PLC处理器处理能力的增长,肯定很快也会普及文本编程。
dffeifei110 : 逻辑控制用梯形图方便,我选择梯形图,文本语言用于数据交换更好用,各有千秋吧,当然也与个人习惯有关。
MIC小赖 : IEC61131-3定义了常用的5种编程语言就说明其各有好处,而且对我来说,固守一个东西本身就是作死。但是也不可能完全放弃一个东西,除非是真正意义上技术的淘汰。
乌龟船长 : 梯形图还是很有市场的,大众、通用的标准程序大部分仍然用梯形图,当然也有SCL等等其他语言。
chengzheng : 信息量太大了。搞了这么多年,还是第一次看到。
A.M : 梯形图对于维护来说可真是噩梦…整屏显示不了多少,上下反反复复看逻辑…梯形图是给电工看的,有了这个电工随时可以转行编程。但是用梯形图编上万点的项目想也不敢想…肯定会累死。
人类群星闪耀时 : 好像最早兴起的商业化PLC是AB的PLC-2/3那一批,不过国内我还没见过,只见过PLC-5,AB的营销路子有问题。
对于本文以及论坛网友们的评论,您有啥看法?留言区集合
版权声明:本文版权所有为中华工控网工控论坛及作者lvpretend,转载请与本号联系。
70个组态王经典问题解答,你想知道的都在这了~
1:设定中最大(小)值及最大(小)原始值的意义?
最大(小)值是变量在现实中表达的工程值(如:温度、压力等)的大小,而最大(小)原始值是采集设备中【寄存器】数字量的最大(小)值(如板卡中的819-4095等)。
一般对于板卡设备此值为物理量经AD转换之后的值,如12BitAD此值范围0~4096、16BitAD为0~65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小)值与最大(小)原始值在设置时是一致的。
2:组态完成后发现工程特别大,怎样把工程文件变小? 可以删除*.AL2(报警信息文件),*.REC(历史记录文件),*.111文件(*.pic文件的备份文件)的文件。
3:在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? 保存参数:在系统运行时,修改变量的域的值(可读可写型),系统自动保存这些参数值,系统退出后,其参数值不会发生变化。当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。无需用户再去重新定义 。
保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值。当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。
4:如何不进入系统桌面环境而直接运行组态王工程如何实现(Win98系统)? 编辑Win98系统下的System.ini文件,将shell=explorer.exe改为: path=c:\ProgramFiles\Kingviewshell=Touchvew.exe 即可
5:组态王里画面属性中覆盖式与替换式有何区别?
覆盖式画面出现时,它重叠在当前画面之上,其他打开的画面还在运行,关闭后被覆盖的画面又可见。替换式画面出现时,所有与之相交的画面自动从屏幕和内存中删除,不再运行。
6:如何利用多个摄像头在组态王上显示多幅画面?
用户需要增加硬件设备:矩阵转换器和画面分割器。视频采集后通过矩阵转换和画面分割再送进组态王中,例如需要显示16个画面,可选择16画面分割器。
7:如何将gif动画用在组态王画面中?
在组态王画面中的工具箱内选折<画点位图 designtimesp=451>这一项并用鼠标在画面中画出一个点位图块,然后点击鼠标右键,在其下拉式菜单中选折〈从文件加载〉,选择所需的gif动画文件。
8:如何用组态王在启动一个应用程序时打开任意路径下的一个文件?
一在组态王中定义一个内存字符串型变量,在StartApp函数调运之前,赋给该变量值,为:应用程序路径+一个或 两个空格+文件路径、文件名 、文件扩展名。
接下来用StartApp函数,其参数为该变量名称。如用WordPad启动时打开一个.alg文件:定义“ 文件”问内存字符串型变量,命令语言为:
文件=C:\Progra~1\Access~1\word.exe +C:\Progra~1\Kingview\Example\Kingdem~3\+文件名; startapp(文件);/*文件名可以任意给定,如用列表框选择的结果等。【文件名为8.3格式】
9:事件命令语言和程序命令语言内容的长度是否能够加长?
组态王命令语言的长度为20k,无法加长,但可以将一个命令语言分为几个事件命令语言。
10:为什么有些打印机在打印实时报警时打出的为乱码?
为保证实时报警打印的实时性,组态王将实时报警信息直接送到打印端口(如LPT1)输出打印,而不是调用WINDOWS系统的打印,因为在打印时要求有字库的支持,而直接送端口打印没有调用任何系统的东西,所以就要求打印机提供这些字库。如果没有字库,则打印出来的东西肯定为乱码。现在市场上的打印机除了部分针式打印机(如EPSON LQ1600K系列、LQ1900等)具有硬字库外,其余的打印机,所以打印出来的实时报警很容易出现乱码。
11:为什么有些网络在报警窗中不出现登录和注销事件?
登录和注销事件在组态王中是作为报警事件显示在报警窗中,这就要求作为登录服务器的机器必须有自己的报警服务器,因此建议用户将作为登录服务器的机器同时做为IO服务器,并选定一个报警服务器作为这台机器的报警服务器。
12:如何查询历史报警?
1、打开组态王工程浏览器下的报警配置项,在其对话框的〈文件保存〉栏里输入报警信息存放的天数,并单击报警记录格式,其弹出的对话框里可以进行显示报警信息时间的设置。变量的报警信息是以*.al2文件的格式存放在指定的工程路径下面。
2、组态王工程浏览器下的报警配置项中选择将报警信息存入数据库,如需在组态王中查询可利用sql函数进行查询.
13:如何计算变化率报警?
模拟量的值在固定时间内的变化超过一定量时产生的报警,即变量变化太快时产生的报警。当模拟量的值发生变化时,就计算变化率以决定是否报警。变化率的时间单位有三种:秒、分和时。
变化率报警利用如下公式计算:((变量的当前值 - 变量上一次的值)*100)* 单位对应的值/((这一次产生值的时间-上一次产生值的时间)* (最大值 - 最小值)(注:如果是秒,为1;如果是分,为60,如果是时,为3600)) 取其整数部分的绝对值做为结果,若计算结果大于定义的变化率的值,则出现报警。
14:如何利用KVDBGrid控件根据日期条件查询历史报警? 将数据库中表Alarm中的字段AlarmDate字段类型改为“日期型”,利用KVDBGrid进行条件查询,日期变量为:DateString,字符串类型
历史报警查询.Where=AlarmDate={d ’+\\本站点\DateString+’};
历史报警查询.FetchData();
历史报警查询.FetchEnd();
15:如何利用KVDBGrid控件根据报警变量进行相似查询历史报警? 历史报警查询.Where=VarName like+’%+\\本站点\报警变量+%’; 历史报警查询.FetchData(); 历史报警查询.FetchEnd();
16:如何利用KVDBGrid控件根据日期范围查询一段日期的历史报警? 历史报警查询.Where=AlarmDate >={d’+\\本站点\HTDate+’} and AlarmDate <={d’+\\本站点\HTDate1+’}; 历史报警查询.FetchData(); 历史报警查询.FetchEnd();
17:如何利用KVDBGrid控件根据日期范围查询一段日期的历史报警?
历史报警查询.Where=AlarmDate >={d’+\\本站点\HTDate+’} and AlarmDate <={d’+\\本站点\HTDate1+’};
历史报警查询.FetchData(); 历史报警查询.FetchEnd();
18:如何清除组态王6.0报表单元格中的内容?
组态王报表没有提供清除报表内容函数,但提供了设置报表单元格内容的函数,包括设置一个或多个单元格的字符或数据,可以使用这些函数(ReportSetCellString)来清除报表单元格的内容,如设为空字符。这种方式比较灵活,而无须组态王在提供单元格清除函数。
19:如何利用组态王报表来实现数据统计?
组态王的报表数据统计功能目前有一定的局限性,但利用组态王的其它功能与报表功能一起可以实现数据统计。
1、设计一个源报表,该报表中存储各种用于数据统计分析的源数据,可以在系统运行时,将源数据添到报表中, 需要统计分析时,可以取出数据进行统计分析。然后将结果添加到统计结果报表中。
2、通过数据库与报表结合的方式。将所需的数据通过组态王的SQL功能记录到数据库中,当需要统计分析时,可以通过条件查询,将查询到的数据添加到源报表中,然后通过对源报表的计算将统计结果输出到正式报表中
20:在使用EXCEL制作的报表Kintable查询历史数据注意的问题?
1、在Kintable的VBA编辑器中Auto_Open子程序中修改初始化历史数据库的函数的参数:修改历史库路径和工程
2、如果使用的是EXCEL5以上的版本,请在查询历史数据前,先执行初始化历史库函数。在Kintable中VBA中的子程序ButtonOk_Click函数定义变量部分之后,直接调用Auto_Open子程序:Call Auto_Open。解决初始化历史库失败或找不到变量等问题。
21:如何不进入系统桌面环境而直接运行组态王工程如何实现(Win2000系统)?
运行RegEdit文件:找到 我的\HKEY_Local_MACHINE\software\Microsoft\Windows NT\currentVersion\winlogon 将Userinit=c:\winnt\system32\userinit.exe改为: Userinit= c:\program files\kingview\touchvew.exe
22:如何在组态王中修改系统时间?
调用批处理文件:dsh.bat
string Adate = StrFromInt( A年, 10 ) + - + StrFromInt( A月, 10 ) + - + StrFromInt( A日, 10 );
string Atime = StrFromInt( A时, 10 ) + : + StrFromInt( A分, 10 ) + : + StrFromInt( A秒, 10 );
string Acommand =InfoAppDir()+dsh.bat;
Acommand = Acommand + ;
Acommand = Acommand + Adate;
Acommand = Acommand + ;
Acommand = Acommand + Atime;
StartApp(Acommand);
批处理文件:dsh.bat
date %1
ime %2
23:工程被破坏后如何恢复画面?
1、新建一工程,在工程浏览器中选择导入,将被破坏工程的画面导入即可
2、新建一工程,该工程下新建与原来工程*.pic文件名一样的空画面,保存画面.将被破坏工程的*.pic文件拷贝到新建工程的目录下将新建工程的*.pic文件覆盖,从新打开新建工程,将画面逐个打开可以看到工程画面。
24:如何打印信息到针式打印机?
用函数filewritestr()函数实现,filename参数为“LPT1:”
25:组态王中的报表RTL为如何格式,如何打开?
报表RTL是组态王自己的报表格式,只能通过组态王用载入报表函数(ReportLoad函数)打开。
26:为什么在命令语言中使用报表函数却不执行?
在应用程序命令语言中使用各种报表函数(如:reportsetcellvalue()等)。当画面隐含时,函数无法正常执行,如:变量值无法正确写入对应的单元格中。用户要注意这种情况,这不属于软件错误,运行过程中当画面隐含时不能对报表进行操作。
27:组态王中的打印函数PrintWindow()如何使用纸张的横向打印功能?
PrintWindow()函数的第二、三个参数不能够为0并且将打印机的纸张设置为横向即可;如:PrintWindow( 监控中心, 60,60, 0,10, 10);
28:在历史趋势曲线中看不到曲线?
1、数据词典设置的记录变化与安全区中没有选择数据记录
2、变量的量程过大,实际显示的数值占量程的百分比非常小,所以感觉没有曲线显示
3、系统时间被修改,历史数据存储有误,所以曲线无法显示
29:如何根据起始日期时间、终止日期时间查询历史趋势曲线?
使用通用控件中的历史趋势曲线: \\本站点\PHTTime=AHTTime(\\本站点\HTDate,\\本站点\HTTime); \\本站点\PHTTime1=AHTTime(\\本站点\HTDate1,\\本站点\HTTime1); \\本站点\PHTTime2=\\本站点\PHTTime1-\\本站点\PHTTime; 批次历史曲线.SetTimeParam(\\本站点\PHTTime,0,\\本站点\PHTTime2,0);
30:如何利用通用控件中的历史趋势曲线作为实时曲线使用?
在画面属性命令语言存在时调用历史趋势曲线控件HT的方法如下: HT.HTUpdateToCurrentTime()
31:与SQL SERVER进行数据交换,实数类型存入数据库后为什么在组态王中无法读取?
原因是因为客户在数据库中定义的字段的类型不对。在组态王中定义的内存实型变量,在ACCESS数据库中对应的字段的类型应该是单精度型,在SQL SERVER数据库中对应的字段的类型应该是real型.(不能为float型).
32:为什么从EXCEL返回组态王会出错?
在EXCEL中用 AppActivate 函数时,如果EXCEL中为AppActivate 组态王运行系统 ,组态王的设置运行系统中,标题条文本里填写:组态王运行系统,同时,不要选标题条中显示工程路径,如果选择了,在AppActivate 应写组态王运行系统-c:\…...否则就会出错
33:组态王的存盘数据用何方式打开?为什么组态王的历史记录文件打开都是乱码?
*.REC文件存放的历史数据,不能用excel直接打开,它本身是二进制文件.可以在VBA中调用提供的动态连接库来访问。
34:SQLDelete()函数中选择条件的用法。A3=客户=+a2做为条件不执行?
sql查询语句如果查询的字段为字符串时应使用单引号,a3=客户’+a2+’即可
35:数据库插入记录失败?
1、在信息窗中查看数据库是否连接
2、数据库表格的字段名与组态王记录体定义的字段名是否相同
3、数据库表格的字段类型与组态王变量的类型是否符合,推荐使用组态王的表格模板创建表格
4、表格中使用的字段名是否为data和time,请改为其他字段名。
36:如何将数据存为.txt文件?
使用函数FileWriteStr(Filename,FileOffset,Message,LineFeed); 例:将名为MsgTag的文字变量写入文件C:DATA\FILE.TXT的末尾。调用函数FileWriteStr (C:\DATA\FILE.TXT, 0, MsgTag, 1);
37:数据库字段为反应罐1#温度时,组态王无法通过ODBC往数据库中写数据?
ODBC不支持存在’#’字符的字段,不要使用#
38:如何在数据库中始终保持一个月的数据,自动删除一个月之前的记录?
请将控制面板中的区域设置日期改为yyyy-mm-dd格式
数据库中保存一个月的历史数据,自动删除一个月以前的数据。命令语言放在应用程序命令语言启动时或者事件命令语言$时==1中:
39:使用进行网络配置的远程站点后,远程站点的数据词典中没有变量显示?
1、网络是否联通
2、主机的工程应该是完全共享,不能是只读共享,从机是否可以看到工程文件夹,是否可进行读写操作
40:S7-200通过PPI与KingView6.1连,5到6小时断线不能恢复,组态王信息窗口显示尝试与S7-200恢复通讯失败。请问如何处理?
(1)西门子S7200使用西门子公司提供的PC/PPI带缆选用PPI方式与组态王通讯当中,一旦PLC断电,则必须先用PLC的编程软件与PLC通讯一次,实现对PC/PPI电缆上的模块的初始化后,此时才能重新启动组态王,建立正常的通讯。
(2)若用户希望在设备断电后再上电时,组态王能自动恢复与设备的通讯,则不用西门子公司提的PC/PPI电缆,而使用RS232/485的转换模块,其中:485的DATA+接PLC的PORT口的3,DATA-接PLC的PORT的8(自己做线),采用这种方式。
41:组态王6.5安装后为何拨号网络无法建立“传入的连接”?
运行注册表文件(RegEdit):在注册表中: \\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Ras\\AdminDll 删掉
然后手动在控制面板—管理工具—服务中的“Routing and Remote Access”服务启动。
42:for Internet版本如何通过IE浏览方式对数据库进行查询?
对于for Internet版本组态王【6.01版】,画面发布不支持SQL函数。所以不能通过画面调用SQL函数对数据库进行查询。但是可以通过一种中介的方式。
画面上定义按钮,定义按下或弹起时一离散量变化,如离散量:a,按钮弹起时a=1。在事件 命令语言中定义当a=1时,数据库进行连接,命令语言如下:if(a==1)SQLConnect(DeviceID,dsn=web数据查询;uid=;pwd=); 如此类推通过离散量发生变化从而触发事件命令语言从而对数据库进行查询。这样发布的画面可以实现通过IE浏览。。
43:访问组态王发布的页面时为什么总出现“连接主机失败”?
1、网络速度太慢。
2、开发中“网络配置”没有配置为“连网”。
3、演示版支持10分钟的WEB发布,同时只能够有1个用户通过IE浏览 44:访问组态王发布的页面时为什么会提示“连接远程文件格式”错误?
1、【6.01及以前版本】画面中是否使用了控件、过渡色、其他不支持的图素。
2、是否将文件发布到了根目录下,发布文件不能放在根目录下
45:如何访问组态王发布的页面?
1、安装PWS或IIS软件并进行配置、即可以在IE 地址栏中输入\\***.***.***.***(***表示WEB服务器的IP地址)或主机名;
2、如不安装PWS或IIS软件,只需要在IE 地址栏中输入\\***.***.***.***(***表示WEB服务器的IP地址),即能访问到服务器端共享的所有文件【需要在配置网络协议时安装文件打印和和共享服务】。
46:为什么发布的画面总是一片灰暗没有图形?
确认发布路径下netkingview.cab文件存在,并且大小正确,若没有该文件或文件损坏,从kingview路径下拷贝netkingview.cab文件至发布路径下,【IE是否安装JAVA的支持文件,从IE安装盘上得到』 47:web发布后,在客户端用IE打开html文件时什么都没有,IE状态栏提示“完成” ,或者提示javaclass not found?
1、可能发布后的netkingview.cab文件大小为0K,用户需要将kingview路径下的netkingview.cab文件 复制一个到发布的路径下。
2、可能是用户的java虚拟机存在问题。用户可以将发布路径下的netkingview.cab文件解压缩,同时将 其下的javaclass文件夹放到其上一级目录。如果这样操作会出现“连接主机失败”,则将javaclass文件夹同时复制到客户端机器的桌面上
48:画面发布后为什么页面数据没有变化?
由于不带WEB功能的加密锁不支持WEB。如果小于64点演示,请不要安装加密锁,否则若安装不带WEB功能的加密锁,远程客户端的数据将不变化。
49:为什么配方调不出来? 1、在配方定义中,表格中的变量数目应该与实际变量数目相同,如果为空的话就无法调用配方 2、检查配方调用函数设置的路径是否正确
50:如何在开发系统下设置KVDBGrid控件的列宽?
在开发系统下,同时按下 Ctrl+Alt+O,就可以调整控件的列宽了
51:如果jiami琐不能正常使用怎么办?
1、确保正确安装了jiami锁的驱动程序,(6。01以前的版本不支持XP)。
2、确保计算机并口模式为ECP(在BIOS中设置) 。
3、如果还不能解决问题,请上外部网站软件下载中下载jiami锁检测程序。
4、锁坏了(禁止带电拔插狗) 52:使用组态王狗,一旦使用打印机则找不到狗?
1、将并口设为ECP方式(在BIOS中设置)
2、并安装驱动程序
3、并口的驱动能力可能有问题,建议增加一并口扩展卡,连接打印机。
53:开发的工程如何能不让别人看到?
1、对于大于64点的工程,如果没有装上开发狗的话则不能打开工程
2、在工程浏览器的工具菜单中选择工程jiami可以避免别人打开工程,但一定要记住密码,因为一旦密码丢失,没有后台可以jiemi。
54:使用三菱fx2n的PLC,使用232bd的通讯模块与组态王通讯,在组态王上选择设备fx2->编程口,当PLC设置成stop状态时,PLC与组态王通讯正常,一旦把PLC设置为run状态,PLC与组态王出现通讯失败是为什么?
是否在PLC中有一段自己编的有关232bd通讯方面的程序,这段程序与组态王的驱动程序有冲突,把这段程序去掉后,PLC不论是stop还是run 状态,和组态王通讯均正常
55:金星K200S使用通讯模块K3F-CU2A与组态王通讯不上如何检查?
1、通讯模块的运行方式通过模块上的开关类型选为专用通讯方式。
2、在组态王开发环境中定义设备时选择 PLC->金星-〉MASTER-K-XXXS。
3、通讯模块的RS232口到上位机的RS232口之间的连线和标准的有区别,建议用厂家配套电缆。
56:莫迪康PLC通过以太网方式进行通讯,定义设备时,地址一项该如何填写?
定义设备地址时,格式如下:IP地址 单元号,例如:123.123.123.1 0 (IP地址和单元号之间有空格)。
57:HOSLINK方式,组态王不能控制I/O模块的输出。例如组态王中定义IR0100寄存器,执行写操作之后PLC并不动作是为什么?
对于组态王老版本的驱动程序,上例中只能定义成IR100,而不能定义成IR0100。解决方法:更新驱动程序。两种方式都支持。
58:使用6台欧姆龙PLC与上位机进行通讯,如果关掉其中的几台PLC,组态王的通讯速度变慢-数据刷新速度变慢是什么原因?
如果关闭一些PLC,组态王会始终尝试与其恢复通讯,使通讯速度减慢。您可以使用组态王提供的COMMERR寄存器,在关掉PLC之前将相应的COMMERR寄存器置1,屏蔽PLC与组态王之间的通讯。然后再调闭PLC。
59:三菱PLC的A和Q系列以太网通讯方式,PLC程序中需要为通讯做些什么工作?
三菱PLC的A和Q系列,以太网通讯模块中都有8个通讯缓冲区。PLC与上位机通讯时,每个缓冲区通过一个端口与一台上位机连接。因此,PLC首先要定义一个唯一的IP地址;需要与几台上位机连接,在程序中就要打开几个缓冲区,分别定义不同的端口;还要循环查询这些端口,是否有上位机连接进来,以便随时可以通讯。
端口可以定义得比上位机数量多,对通讯没有影响。强烈要求网内所有PLC定义的端口不要重复,以避免驱动共享变量可能带来的通讯混乱。
60:S7200使用PPI电缆方式与组态王进行通讯,CPU中可以定义Q,I,M寄存器,而组态王中只有V寄存器。如何连接?
组态王只支持V寄存器,数据类型包括BYTE,INT,UINT,LONG,FLOAT,如果您要监控Q,I,M寄存器,您必须在PLC程序中做一下处理,将Q,I,M寄存器的值传至V 寄存器,组态王通过对V寄存器的操作来实现对Q,I,M寄存器的监控。
61:组态王如何与三菱FX0n系列的PLC进行通讯?
三菱FX0n系列的plc本身只有编程口,如使用组态王与其进行通讯还需给三菱FX0n配置通讯模块或通讯卡,配置好通讯模块后与三菱Fx2N系列的通讯协议是兼容的,请根据您所选用的通讯模块在组态王上选用相应的选项。
1、对于232BD:定义设备时,选FX2N。
2、对于485BD,232ADP, 485ADP:定义设备时,选FX2N-485方式 用编程将D8120设置为E080,即通讯参数如下: link, 7, 无校验, 1, 9600, RS485, 数目检查:YES, 控制程序:Format4. 在D8121中设置地址
62:西门子S7200使用西门子公司提供的PC/PPI电缆选用PPI方式与组态王通讯,一旦PLC断电通讯不能恢复,重新启动组态王通讯失败,必须用西门子的编程软件和PLC通讯一次后,组态王才能与PLC通讯是为什么?
1、不用西门子公司提供的PC/PPI带缆,使用RS232/485的转换模块,485的DATA+接PLC的PORT口的3,DATA-接PLC的PORT的8,采用这种方式连接PLC断电后组态王能恢复与PLC的通讯。
2、PLC断电后先用PLC的编程软件与PLC通讯一次,初始化PC/PPI电缆上的模块,再使用组态王与PLC通讯
63:用户使用组态王通过远程modem拨号与西门子的S7-200系列的PLC进行通讯。使用ppi协议。modem拨通后,组态王与PLC通讯失败,为什么?
组态王不支持与西门子的PLC使用ppi协议通过远程modem拨号进行通讯,请使用西门子S7-200系列的自由口协议(kingview6.0版本),可实现组态王通过远程modem拨号与西门子的S7-200系列的PLC进行通讯
64:西门子S7-3OOMPI方式通讯,PLC内寄存器名称与组态王支持的寄存器名称不符如何组态?
组态王支持的寄存器名称是英文方式,寄存器英德文对照表如下:
德文 英文 A Q 输出寄存器 M M 位寄存器 DB DB 数据块寄存器 E I 输入寄存器 T T 定时器 Z C 记数器 65:组态王与西门子的S7-300 MPI方式通讯不上,地址设置为2.0是什么原因? 地址设置错误,PLCMPI方式通讯,组态王中设备地址应设成2.2,其中小数点前为MPI地址(即站号),小数点后为MPI设备(即所使用的通讯模块或CPU模块)的槽号(slot number)。 66:西门子S7-300 MPI方式通讯,CPU 313,使用模拟量模块E304,E305读不上来数据是什么原因? E304,E305模拟量输入数据是12位的,而组态王只支持BYTE型,所以数据读不上来,您可以在PLC程序中将模入数据送入DB块,再利用组态王读取DB块的内容。
67:如何使用Profibus-(DP,S7,FMS)协议实现组态王与PLC的通讯?
实现Profibus-DP通讯需要以下软硬件配置:
(1)STEP7V5.0+SP2及以上版本
(2)需要购买西门子提供的Softnet-DP , COMPROFIBUS3.3及以上版本,用于实现对主站组态,地址定义,从站类型定义,以及I/O配置,从站参数赋值信息等。组态完后生成的*.ldb文件将添加到CP中以起动并初始化从站。
(3)通讯卡 (如CP5611,CP5613 等),在Profibus -DP通讯网中做为主站。
实现Profibus-S7通讯需要软硬件支持 (1)STEP7V5.0+SP2及以上版本 (2)需要购买西门子提供的Softnet-S7软件 . (3)通讯卡 (如CP5611,CP5613 等)
68:如何实现三菱A系列的PLC与组态王进行通讯?
需要选用通讯模块。
1、计算机通讯组件A1SJ71C24-R2 应按照如下设置: 将MODE拨盘指向4的位置,本协议只支持通信协议的模式4
2、计算机通讯组件A1SJ71C24-R4 应按照如下设置: 1 2 3 4 5 6 7 8 9 10 11 12 off on off on on off on on on on off on mode 选择 位置 8 组态王中设置:RS_485 , 9600 , 8 , 1, 偶校验
3、以太网组件: A1SJ71E71B2 A1SJ71E71B5 在组态王中定义设备三菱-〉中型PLC以太网-〉TCPIP
69:Q系列以太网通讯如何配置?
如果使用Q系列以太网方式,在组态王中定义设备三菱-〉Q系列以太网-〉TCPIP 设备地址格式:aaa.bbb.ccc.ddd:ppppp:t aaa.bbb.ccc.ddd为PLC的IP地址, ppppp为PLC中定义的端口号,t是连接超时(单位秒),都是十进制数。
70:如何与 MODBUS PLUS协议的设备进行通讯?
此协议需要在你的计算机中安装Modicon SA85接口卡(一台计算机最多4块)。使用厂家提供的电缆,通过卡上的接口与PLC的Modbus Plus接口相连。 在使用SA85卡之前,必须安装SA85卡的驱动程序。否则组态王不能进行设备定义。
1、组态王定义设备时请选择MODBUS PLUS下的SA85卡 2、设备地址 必须在1~64的范围内给网络上的每个节点分配一个唯一的地址,一般来说,地址是通过控制器上的一个特殊的DIP开关来设定(或通过主机上的Modbus Plus通讯适配器卡来设定),
3、组态王调用的驱动程序: ModPlus.dll,需要调用默迪康的两个库文件Netbios.dll,Netlib.dll,注,98和2000系统下的库文件Netlib.dll是不同的。
71:在XP下安装组态王问题,原来在XP下安装组态王,现已经全部卸载,想安装组态王6.5,但安装程序在安装后显示“安装程序发现机器上已安装有组态王软件,单击“确定”退出后先卸载组态王其他版本,然后再安装组态王6.5!”,将注册表中的所有KIngview和亚控的关键字删除,也无法安装。请问如何解决?
用RegEDIT打开注册表,查找如下位置:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths
如果安装完组态王的各种版本会在注册表的上述位置中生成一个名为“组态王*”的键值(*:为版本号,如:5.1、6.0、.6.01、6.02、6.03、6.5),正常卸载组态王后,该键值能正确删除。如果是非正常卸载(卸载失败,文件丢失等)该键值不能删除掉,再次安装组态王6.5时则不能安装。手动删除此路径下的组态王键值则可安装。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
超全电气学习资料
相关问答
请问一个莫迪康PLC指令-盖德问答-化工人互助问答社区
莫迪康PLC梯形图中的输出点,一些时候是用(L)这个符号,这是什么意思呢?因为这套系统太老,很难找到它的资料。好象是莫迪
关于莫迪康PLC与微机间通讯的疑问......-盖德问答-化工人互...
最近单位与莫迪康PLC通讯的微机硬盘坏,新换一硬盘,并且重新安装Concept2.6软件及SA85卡相关驱动后,打开Co
施耐德M340PLC如何配置CPU以太网端口连接编程计算?
1、将设备的16进制地址转换为10进制:0003H(16进制数,H没用,只是说明该数为16进制数)=0003。2、设备定义PLC----莫迪康---Mobus-rtu----串口。3、变量定义.....
施耐德modbus地址表换算方法?
1、将设备的16进制地址转换为10进制:0003H(16进制数,H没用,只是说明该数为16进制数)=0003。2、设备定义PLC----莫迪康---Mobus-rtu----串口。3、变量定义.....
485通讯控制交流电机应该如何实现?
测...Busy表示功能块执行情况的输出,如果为高电平,表示功能块正在执行。我们读取它的下降沿,来触发下一次操作。Error是功能块的错误,可能你会有疑问,为什么通...
和利时plcmodbus与莫迪康的modbus地址一样吗?
modbus的协议大体都是一样的,只是不同的plc,使用的指令和数据的存放地址不同。modbus的协议大体都是一样的,只是不同的plc,使用的指令和数据的存放地址不同。
PLC输出信号是正极应该是PNP还是NPN型?
如果输入的com接负极,就选npn的,如果plc输入的com端接电源的正极,就选pnp的。pnp与npn型其实就是利用的饱和和截止,输出两种状态,属于开关型传感器。但输出...
杰赛机顶盒dc5000联通定制版怎么下载软件-ZOL问答
我采用的是莫迪康M340的PLCCPU是BMXP342020(自带以太网接口的),现在上位机用的组态软件是组态王4654浏览5回答柯达数码相机可用8G的SD存储卡吗?3609浏...
RSLogix5000,AI点REAL类型,程序内部显示的3000怎么转...-...
如题,谢谢。希望在用abplc的兄弟姐妹们一起讨论关于ab的每一个问题。上图可见,通道0和1设置不一样。为什么?是这样的一种对应关系:819~4096对应0...
两台交换机在运行过程中,不能同时运行??-盖德问答-化工人互...
需要两台交换机做一个uplink的连接,然后各自的配置文件要添加些切换冗余功能的东西呢。看下配置文件吧...这时需要两台交换机做一个uplink的连接,...