摇头光束灯灯复位失败,串口错误

5337人阅读
& & 今天遇到串口通信不稳定, 拿到别人机子上测试, 却发现他的串口打不开了.&
& & 在网上查原因. 网上说了些原因,比如串口被占用,这个被排除了,我没开其它使用串口的程序. 也有说驱动没安装好,也重新安装了下.还是不行.
& &只有继续看MSDN.发现有说明:
& &When lpFileName points to a COM port to open, you must include a colon after the name. For example, specify COM1: to open that port. When using IrCOMM, specify COM3:.&
& &意思是说要在串口名后面加个分号&:&,如 & & COM1: &,但是平时不加,也能正常打开的啊. 以前都没仔细看说明,只看别人怎么用就怎么用,所以不没加分号,看来以后得仔细看说明了.
& &看了说明,改了程序,发现还是不行,仍然打开失败. &GetLastError获得错误码是说的 &&文件不存在& ,也就是说串口名格式可能还是错的.
& &继续找.终于找到这个,博客:& & &10以上串口加载问题 &
& & 原来设备名的格式是有很多种的.&
& & &COMX:&,
&&&&&\$device\COMX&,
&&&&&\$bus\PCMCIA_0_0_0&。
& & && COM1 & 这种格式只支持 COM0-COM9 &上了 COM10就不支持了.
& & 只有使用第二种格式了.&\$device\COMX&, & ======& & \\.\COM12 & &当然放到程序里,常量串要转意反斜杠的====& & \\\\.\\COM12 &
& & 但是第二种格式为什么 $device 是换成 一个点表示,对于设备名称没有看过,不知道为什么了.
& & 这样,换成这样终于是可以了
总结: & 仔细看MSDN , 借鉴的同时要注意理解. & &COM名字格式很重要.
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:51495次
排名:千里之外
原创:13篇
评论:32条
(1)(1)(1)(3)(2)(6)(2)(1)浙江电子口岸
当前位置: >
电子口岸卡问题
老师,你好!
我在登录电子口岸时,输入密码之后 提示“复位读卡器失败:错误码=50070”,之后我安装了最新的读卡器控件,之后再登录的时候 提示“初始化串口1失败;初始化串口2失败”。这个应该如何解决?
提问者:anonymous
您好!出现这样的提示建议您先确认您的读卡器连接电脑并插入IC卡后是否是亮绿灯,若是红灯亮说明是您的读卡器坏了,需要重新购买,若是绿灯亮的,您需要尝试一下其他的IC卡是否可以正常登录,如有都不可以,您需要登录中国电子口岸杭州数据分中心网站,进入下载专区,下载读卡器控件和服务器控件,安装后再登录,如还是不行,建议您重装中国电子口岸执法系统。如有其它疑问,欢迎继续在浙江电子口岸政务咨询平台上提问,谢谢!
本网站所提供的信息和服务结果仅供参考,不保证所提供的资料和服务没有任何瑕疵,本网站对所有的网站的内容有修改和解释权。用户应以实际办理相关业务的要求为准, 对用户使用网站提供的资料和服务时可能存在的风险由用户本人承担.打印机与电脑联不上,显示5串口初始化失败是什么原因?_百度知道
打印机与电脑联不上,显示5串口初始化失败是什么原因?
电脑一般没有串口5吧。一般是用并口或是USB口的。可能是你的接口设置错误。希望对你有帮助,看后请点击我的回答下方【选为满意答案】按钮
其他类似问题
为您推荐:
初始化的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求助:三菱plc通信串口开始能通信成功,几小时后就通信失败,提示错误代码es:0180840b_百度知道
求助:三菱plc通信串口开始能通信成功,几小时后就通信失败,提示错误代码es:0180840b
我初步诊断为plc通信串口烧坏,外部环境出错,为了诊断外部出错的环节小弟都烧了两个全新plc的通信串口了,至今未能找出原因,求高手指点
我有更好的答案
使用串行通讯有个原则,在建立联机联机状态尤其是双方在传送数据时,是不能插拔通讯电缆的,否则通讯口极易烧坏。
你这个PLC设备为教学用的,使用的人杂,水平不一。使用中,不注意管理的话,是非常容易造成烧通信口的。
这一点到是排除了,我发现学校的电网电压不稳定。经常波动。不知道会不会是电脑电源受不了,导致漏电烧了通信口。
PLC和电脑使用的都是开关电源,对电源的宽容度比较高,一般不会出现你说的状况。
PLC接地是不是接近强电接地环网了,或者主接地没有连入啊,一般这种接口只有在两端零电势不等的情况下才会烧,而且接地问题在国内的电网中经常被忽视的
我这个plc设备为教学用的,实验室有十几台,有5台plc串口无法通信,其他都正常通信,设备地线未接入,只是连通设备外壳,电脑用电是取设备上的电,plc地与电脑外壳互通,
教学用的那就不太好说了,设备本身有没有变频之类的强电场干扰的设备呢
没有啊!使用时都只是给plc和电脑供电!
那样我就帮不了什么忙了,但我仍然建议将设备就近接地吧,有时候电气的故障就只是那么一点点的小问题
嗯,谢谢了!头疼死我了,愿我能解决问题就好了,要不然烧了的那两个plc没法交代了、
其他类似问题
为您推荐:
您可能关注的推广
三菱plc的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VB语句,如果串口打开失败的语句怎么写_百度知道
VB语句,如果串口打开失败的语句怎么写
MSComm1跟MSComm2两个串口,如果MSComm1串口打开失败,执行打开MSComm2串口的语句怎么写。
提问者采纳
MSComm1 仅仅 是 控件的 实例!无需 2 个 控件,除非同时使用 2 个!一个即可一般 用 On Error 语句 处理!看看 MSDN祝你顺利以下 摘自 MSDN---------------------On Error 语句启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。语法On Error GoTo line On Error Resume NextOn Error GoTo 0On Error 语句的语法可以具有以下任何一种形式:语句 描述 On Error GoTo line
启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。 On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。 On Error GoTo 0 禁止当前过程中任何已启动的错误处理程序。 说明如果不使用 On Error 语句,则任何运行时错误都是致命的;也就是说,结果会导致显示错误信息并中止运行。一个“允许的”错误处理程序是由 On Error 语句打开的一个处理程序;一个“活动的”错误处理程序是处理错误的过程中允许的错误处理程序。如果在错误处理程序处于活动状态时(在发生错误和执行 Resume、Exit Sub、Exit Function 或 Exit Property 语句之间这段时间)又发生错误,则当前过程的错误处理程序将无法处理这个错误。控件返回调用的过程。如果调用过程有一个已启动的错误处理程序,则激活错误处理程序来处理该错误。如果调用过程的错误处理程序也是活动的,则控件将再往回传到前面的调用过程,这样一直进行下去,直到找到一个被允许的但不是活动的错误处理程序为止。如果没有找到被允许而且不活动的错误处理程序,那么在错误实际发生的地方,错误本身是严重的。错误处理程序每次将控件返回调用过程时,该过程就成为当前过程。在任何过程中,一旦错误处理程序处理了错误,在当前过程中就会从 Resume 语句指定的位置恢复运行。注意 一个错误处理程序不是 Sub 过程或 Function 过程。它是一段用行标签或行号标记的代码。错误处理程序依靠 Err 对象的 Number 属性中的值来确定错误发生的原因。在其它任何错误发生之前,或在调用一个可能会导致错误发生的过程之前,错误处理程序应该先测试或存储 Err 对象中相关的属性值。Err 对象中的属性值只反映最近发生的错误。Err.Description 中包含有与 Err.Number 相关联的错误信息。On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用含有 On Error Resume Next 语句的过程的语句继续运行。这个语句可以置运行时错误于不顾,使程序得以继续执行。可以将错误处理程序放置在错误发生的地方,而不必将控件传输到过程中的其它位置。在调用另一个过程时,On Error Resume Next 语句成为非活动的,所以,如果希望在例程中进行嵌入错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。注意 当处理在访问其它对象期间产生的错误时,与其使用 On Error GoTo 指令,不如使用 On Error Resume Next。每次和对象打交道,在不知道用代码访问哪个对象时,检查一下 Err 都会打消这种疑虑。可以确定是哪个对象产生错误(Err.Source 中指定的对象),也可以确定是哪个对象将错误代码放在 Err.Number 中。On Error GoTo 0 停止在当前过程中处理错误。即使过程中包含编号为 0 的行,它也不把行 0 指定为处理错误的代码的起点。如果没有 On Error GoTo 0 语句,在退出过程时,错误处理程序会自动关闭。在错误未发生的时候,为了防止错误处理程序代码运行,请像在下段程序中那样,在紧靠着错误处理程序的前面写入 Exit Sub、Exit Function 或 Exit Property 语句。Sub InitializeMatrix(Var1, Var2, Var3, Var4)
On Error GoTo ErrorHandler
Exit SubErrorHandler:
Resume NextEnd Sub此处,错误处理程序代码在 Exit Sub 语句之后,而在 End Sub 语句之前,从而与过程中的流程分开。错误处理程序代码可以在程序中的任何地方写入。当对象作为文件运行时,对象中未捕获的错误都被返回控制应用程序。在开发环境中,如果设置了正确选项,未捕获的错误只返回控制应用程序。请参考主应用程序的文档的有关描述,从而得知,在调试时应该设置哪些选项、如何设置这些选项以及主机能否建立类。如果建立一个访问其它对象的对象,则应该着手处理从那些对象返回的未处理错误。如果无法处理这种错误,请将 Err.Number 中的错误代码当作自己的一个错误,然后将错误回传给对象的调用者。应该将错误代码添加到 vbObjectError 常数上来指定这个错误。举例来说,如果错误代码为 1052,则使用如下方法指定错误:Err.Number = vbObjectError + 1052注意 调用动态链接库 (DLL) 期间产生的系统错误不会产生例外情况,也不会被 Visual Basic 的错误捕获操作所捕获。当调用 DLL 函数时,应该(根据 API 的详细说明)检查每一个返回值以确定是成功还是失败,如果失败,则检查 Err 对象的 LastDLLError 属性中的值。
其他类似问题
为您推荐:
其他1条回答
err.number = vbobjecterror + “错误代码,不含引号”
mscomm1.eanbled = false
mscomm2.eanbles = true
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 300w光束灯 的文章

 

随机推荐