实在没辙了,请教各位!!!

失足成万古风流人物 2014-11-11 10:55:34
车辆1、2、3经过刷卡器,刷卡数据经过串口到工控机,如果车2的卡是坏的,啥数据也没有,怎么做到给用户提示“当前车号未识别”?
...全文
552 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
结贴了。多谢各位的热情回复,这个问题只靠软件手段确实是没有完美的解决方法。我目前根据实际的业务规则,在时间上做了个大概的报警。
wanliang2001 2014-11-13
  • 打赏
  • 举报
回复
刷一次卡,就会触发一次传值,系统收到传值是空值,就提示错误,这个很简单呀,总要是传值过程和结果,你要通过串口协议接收到
我现在在路上 2014-11-13
  • 打赏
  • 举报
回复
引用 15 楼 u012071890 的回复:
[quote=引用 2 楼 xian_wwq 的回复:] 如果有返回错误码,根据返回信息提示。 如果发起读取动作,一直没有返回, 就需要考虑加上超时判断。
如果卡是坏的,肯定什么数据都没有,就像是这辆车不存在一样,也不会有什么叫错误码,这时,下车3又来了,我会把车3当成车2[/quote] 你们的“插入银行卡”的事件是不存在的?只有检测银行卡才读。。。?那只能这样:一直检测“你的卡”,卡检测到的时候会有个灯来显示,没检测到的话,灯就不变。那么车主就应该知道自己的卡出问题了
我现在在路上 2014-11-13
  • 打赏
  • 举报
回复
引用 3 楼 wawd74520 的回复:
[quote=引用 2 楼 xian_wwq 的回复:] 如果有返回错误码,根据返回信息提示。 如果发起读取动作,一直没有返回, 就需要考虑加上超时判断。
我拿银行卡去刷一样不会有东西。 卡都坏了。你有什么办法让它知道是卡坏了,还是别的卡。[/quote] 卡是坏的肯定是可以知道的,你插入卡后是要读,结果读不到,不就是坏了吗
火拼阿三 2014-11-13
  • 打赏
  • 举报
回复
引用 27 楼 hemowolf 的回复:
[quote=引用 26 楼 fate1987 的回复:] 先要确定卡坏的程度,读卡之前有一系列操作,比如搜卡,检查卡,验证卡等等一系列完成的操作。 如果还能搜的卡,读不出来卡证明卡坏了,是可以的。。 如果坏的程度连搜都搜捕出来,如同没有,等于空气。。 岂能还能判断它坏了。。。
卡坏不坏,不应该由工控机来判断处理,这是总体上的工作流程设计不合理,应该是刷卡机不给出合理的数据,就不能进行下一步的操作 照你这么说,如果司机不刷卡,或者司机捣乱,随便找张塑料片刷一下,你也要进行下一步操作吗 [/quote] 通过指令还可以自己控制机器蜂鸣的响声。。这都是一系列的指令,吧这些指令完成的组合一套完整的刷卡。
火拼阿三 2014-11-13
  • 打赏
  • 举报
回复
引用 27 楼 hemowolf 的回复:
[quote=引用 26 楼 fate1987 的回复:] 先要确定卡坏的程度,读卡之前有一系列操作,比如搜卡,检查卡,验证卡等等一系列完成的操作。 如果还能搜的卡,读不出来卡证明卡坏了,是可以的。。 如果坏的程度连搜都搜捕出来,如同没有,等于空气。。 岂能还能判断它坏了。。。
卡坏不坏,不应该由工控机来判断处理,这是总体上的工作流程设计不合理,应该是刷卡机不给出合理的数据,就不能进行下一步的操作 照你这么说,如果司机不刷卡,或者司机捣乱,随便找张塑料片刷一下,你也要进行下一步操作吗 [/quote] 搜卡,寻卡,捡卡,验证卡,看来你还是不明白整个刷卡的内在流程。。。
火拼阿三 2014-11-13
  • 打赏
  • 举报
回复
引用 27 楼 hemowolf 的回复:
[quote=引用 26 楼 fate1987 的回复:] 先要确定卡坏的程度,读卡之前有一系列操作,比如搜卡,检查卡,验证卡等等一系列完成的操作。 如果还能搜的卡,读不出来卡证明卡坏了,是可以的。。 如果坏的程度连搜都搜捕出来,如同没有,等于空气。。 岂能还能判断它坏了。。。
卡坏不坏,不应该由工控机来判断处理,这是总体上的工作流程设计不合理,应该是刷卡机不给出合理的数据,就不能进行下一步的操作 照你这么说,如果司机不刷卡,或者司机捣乱,随便找张塑料片刷一下,你也要进行下一步操作吗 [/quote] 刷卡时实时的啊。是线程去跑的,难道你能控制什么时候动,什么时候不动??
卧_槽 2014-11-13
  • 打赏
  • 举报
回复
先拍车牌号,再刷卡,一一对应。
小灰狼 2014-11-13
  • 打赏
  • 举报
回复
引用 26 楼 fate1987 的回复:
先要确定卡坏的程度,读卡之前有一系列操作,比如搜卡,检查卡,验证卡等等一系列完成的操作。 如果还能搜的卡,读不出来卡证明卡坏了,是可以的。。 如果坏的程度连搜都搜捕出来,如同没有,等于空气。。 岂能还能判断它坏了。。。
卡坏不坏,不应该由工控机来判断处理,这是总体上的工作流程设计不合理,应该是刷卡机不给出合理的数据,就不能进行下一步的操作 照你这么说,如果司机不刷卡,或者司机捣乱,随便找张塑料片刷一下,你也要进行下一步操作吗
mjp1234airen4385 2014-11-13
  • 打赏
  • 举报
回复
业务逻辑不合理。缺少必要的手段配合。
小灰狼 2014-11-13
  • 打赏
  • 举报
回复
引用 30 楼 fate1987 的回复:
[quote=引用 27 楼 hemowolf 的回复:] [quote=引用 26 楼 fate1987 的回复:] 先要确定卡坏的程度,读卡之前有一系列操作,比如搜卡,检查卡,验证卡等等一系列完成的操作。 如果还能搜的卡,读不出来卡证明卡坏了,是可以的。。 如果坏的程度连搜都搜捕出来,如同没有,等于空气。。 岂能还能判断它坏了。。。
卡坏不坏,不应该由工控机来判断处理,这是总体上的工作流程设计不合理,应该是刷卡机不给出合理的数据,就不能进行下一步的操作 照你这么说,如果司机不刷卡,或者司机捣乱,随便找张塑料片刷一下,你也要进行下一步操作吗 [/quote] 搜卡,寻卡,捡卡,验证卡,看来你还是不明白整个刷卡的内在流程。。。[/quote] 上位机程序需要知道刷卡的内在流程有什么用? 对工控机来说,他只管接收来自刷卡机的信号,然后作出它的业务逻辑处理即可。 刷卡机没有给出信号,业务的流程就不要走下去,逻辑就这么简单。至于为什么刷卡机没有给出信号,这是刷卡机的事,工控机不需要知道,也没法知道,知道了它也解决不了。 就象你上网购物,提交了订单,但是不支付订单,商家自然不给你发货,至于为什么你没有支付,商家才懒得理你,也不可能教你怎么支付;再如你如果不打电话给快餐店,人家就不会把外卖送到你家里来,为什么你不打电话,那是你的事,快餐店没义务告诉你该订餐了;如果你不提交申请,银行也不会给你开通信用卡……
  • 打赏
  • 举报
回复
引用 4 楼 WM_JAWIN 的回复:
叫司机按喇叭,多按几次
哥。。。
  • 打赏
  • 举报
回复
引用 2 楼 xian_wwq 的回复:
如果有返回错误码,根据返回信息提示。 如果发起读取动作,一直没有返回, 就需要考虑加上超时判断。
如果卡是坏的,肯定什么数据都没有,就像是这辆车不存在一样,也不会有什么叫错误码,这时,下车3又来了,我会把车3当成车2
  • 打赏
  • 举报
回复
引用 1 楼 devmiao 的回复:
if (data == "") MessageBox.Show("当前车号未识别");
您没看懂我题目的意思
  • 打赏
  • 举报
回复
既然卡坏了。什么反应都木有。还是叫司机按喇叭把。
youzelin 2014-11-12
  • 打赏
  • 举报
回复
我不知道你具体在做什么,但是有一点是肯定的, 你刷卡,这个实际程序中的刷卡操作肯定是一个完整的方法去执行的。比如:

public int ReadCard(string cardNumber)
{
    // . . . . . . 
}
这个方法完全可以通过返回值来给给调用者信息反馈,比如:

// 0 ----- 读卡成功
// 1 ----- 读卡失败,卡余额为 0
// 2 ----- 读卡失败,上次读卡为进入,并未发现出去的读卡记录
// 3 ----- 读卡失败,不存在该卡用户
// 4 ----- 读卡失败,此卡已经注销,不能刷卡通过
以上信息随便想想的,还有更多。调用方根据不同的返回值操作不行吗?
  • 打赏
  • 举报
回复
当然用激光来判断有没有车辆,代替人工计数,也是一样。
  • 打赏
  • 举报
回复
需要冗余多套检查手段,否则没法识别。 比如说,每到来一辆车(但是不放行),让人工立刻按下计数器。如果按下计数器的动作跟刷卡器反应不是基本同步,那么就立刻报警。
M依然 2014-11-12
  • 打赏
  • 举报
回复
刷卡数据经过串口到工控机 返回数据到给你的是什么 如果卡是坏的。。根据这个判断呗
hwangt0 2014-11-12
  • 打赏
  • 举报
回复
刷卡器的事,你别越俎代庖啊
加载更多回复(17)

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧