急请问RS485串口通讯的有关问题

急!请教RS485串口通讯的问题
项目中遇到的问题。通讯部分是这样的,当上位机发送一条命令,下位机收到后要返回一包数据,当上位机没有收到返回数据或者返回数据的校验不对时就显示通讯故障提示。
我用一台机床测试的时候一切正常,但是一到客户那边就出现通讯故障,他同时接了7台机床,但是他说只接一台有时也会出现通讯故障
还有,我在串口的OnComm事件里写了调试日志,客户那边的日志里除了有CommEvent=1或2之外,还有CommEvent属性等于1001,1004,1009的情况
请教各位高手,大虾们,这有可能是什么原因呢???
是上位机程序有问题,还是硬件部分的因素,比如干扰之类的?
这个问题搞了我一个星期了,实在找不到原因了   在此先谢谢各位了!!

------解决方案--------------------
进行实施的时候,你们的实施人员没到现场?

这样的空谈,太泛泛了...


------解决方案--------------------
你这样的情况应该是硬件问题
------解决方案--------------------
好像是comm的一个中断信号,可能是下位机出故障了,你光描述这些是远远不够的。
------解决方案--------------------
7台机床可能没有地址区分,一问全答了.应该采用切换通讯模式.单点有问题,通讯线可能有干扰.
参见:
Error 常数

常数 值 描述
comEventBreak 1001 接收到中断信号
comEventCTSTO 1002 Clear-to-send 超时
comEventDSRTO 1003 Data-set ready 超时
comEventFrame 1004 帧错误
comEventOverrun 1006 端口超速
comEventCDTO 1007 Carrier detect 超时
comEventRxOver 1008 接收缓冲区溢出
comEventRxParity 1009 Parity 错误
comEventTxFull 1010 传输缓冲区满
comEventDCB 1011 检索端口 设备控制块 (DCB) 时的意外错误