当前位置:
工控论坛
> >
产品
>
PLC
>
LS产电PLC
我要发帖
首页
上一页
1
2
下一页
尾页
请教MODCOM出错原因。
点击:
1707
| 回复:
26
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-18 22:08:00
楼主
请教K120S高人个问题,我最近刚做个工程,写了个程序,可是这个程序大概运行上60多分钟左右后就会有几个数值返不回来。有时8小时也没事,有时半小时就出点问题。
是K120S MODBUS RTU与4台280KW汇川变频器通讯。
变频地址是2 3 4 5 PLC是1 还有个MT510T的触目屏RS232与PLC通讯1口链接(2--2 3--3 5--5)。
有时是D107返不回来值,有时是别的,似乎是随机的。然后现象就是触目屏上的显示数少了一组(也许是电流不显示,也许是电压不显示,也许是频率....),目前的处理办法是,将
PLC的开关打到OFF上,然后再打到ON上就又都可以显示了。请大家分析一下原因,这问题说大不大,可总不显示,这工程做下来也太丢人了吧。请大家多帮帮忙。谢谢了。
load f0091
load m55 //m55测试使用
ctr c000 0022
load f0010
cmp c000 0001
and f122
and p3 //p3为1号变频使能信号 地址02
modcom 1 d100 d103 m0 //d100为h0203 d101为h8000
d102为1
load f10
cmp c0 2
and f122
and p6 //p6为2号变频使能信号 地址03
modcom 1 d200 d203 m0
load f10
cmp c0 3
and f122
and p9 //p9为3号变频使能信号 地址04
modcom 1 d300 d303 m0
load f10
cmp c0 4
and f122
and pc //pc为4号变频使能信号 地址05
modcom 1 d400 d403 m0
load f10
cmp c000 5
and f122
and p3 //p3为1号变频使能信号 地址02
modcom 1 d100 d107 m0
load f10
cmp c0 6
and f122
and p6 //p6为2号变频使能信号 地址03
modcom 1 d200 d207 m0
load f10
cmp c0 7
and f122
and p9 //p9为3号变频使能信号 地址04
modcom 1 d300 d307 m0
load f10
cmp c0 8
and f122
and pc //pc为4号变频使能信号 地址05
modcom 1 d400 d407 m0
........共20条。
分享到:
收藏
邀请回答
回复楼主
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-18 22:11:00
1楼
与变频器 9600 偶校验 8 1
与MT510T 38400 偶校验 8 1
回复
引用
举报
leodan
关注
私信
精华:0帖
求助:0帖
帖子:15帖 | 196回
年度积分:0
历史总积分:320
注册:2004年5月07日
发表于:2007-04-19 11:22:00
2楼
先点对点看看,数据是不是正常的啊。你那里要不要计算ASC玛的啊?首先肯定的是有数据反馈的话,一定是通上了,数据错乱的话,个人认为可能是1:站号没有设进去,或者站号不匹配,例如PLC和1号通讯的,现在和2号连上了……2:数据格式不对。3:停止位设的不对,也有可能出现上面的情况。最后就是现场干扰,因为你的是280KW的变频器,所以现场干扰肯定不小,而且还有好几台,建议你最好是加电抗器,或者是在PLC程序里面再做个滤波之类的程序,也就是几断程序数据采集,判断一下数据是否都收到了,然后再上传给HMI。(如果是HMI方面出现的问题话,可能性是数据接受迟缓,这个应该好判断的呢,因为我们也一直在做EVIEW和LG的PLC的,呵呵……这个情况很少出现的)
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2007-04-19 20:33:00
3楼
F0091太快了,使用1秒的时间脉冲
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-19 22:16:00
4楼
感谢关注 这个程序我在公司用小功率的变频器连续运行过9个多小时都不出一次问题。
所以我怀疑是现场干扰问题,可能是干扰导致数据错误,使D寄存器数据溢出,使D寄存器不能正常工作。
可我在程序上应该用什么样的方法去解决干扰啊?请leodan:再指教指教。我这也是第一次写,出的问题现在还在再解决的办法。
有没有什么办法能判断出D积存器出错?还有 用什么方法去合理的复位一下出错的D积存器?
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-19 22:18:00
5楼
f97太慢了
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-19 22:29:00
6楼
我在人机界面上的显示数据是直接对应在D107....之类的寄存器上的。一但D存储器有数值,就会显示出来。
上面说到的站号 和数据格式应该没什么问题,停止位我设的是1位。
要是写个CRC校验之类的程序,能抗干扰么?
回复
引用
举报
leodan
关注
私信
精华:0帖
求助:0帖
帖子:15帖 | 196回
年度积分:0
历史总积分:320
注册:2004年5月07日
发表于:2007-04-20 11:21:00
7楼
我觉得不是F091的脉冲问题,我们以前都用的是F90的,这样扫描时间才可以跟的上,我的想法是一般D区域溢出的话,D的值监控的状态下是出现负号的,还有考虑用双字节移位看看,不知道可不可行的.另外就是一个土办法,用MOVP指令收集十个数据,做个比较,去掉最大的和最小的,然后再往屏里面写数据.扫描到一次数据以后清零一次.这样不知道行不行的通.
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-20 18:44:00
8楼
每次接收数据前都先给寄存器清零,这样可以么?
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2007-04-20 21:29:00
9楼
1如发送时间快的话,当从站的信号还没有处理完,又发送一幀数据,这时就造成通讯发生错误而出现通讯断开 或反馈错误代码,
2又可能数据地址有其他地方使用的可能,
3干扰,降低波特率,最好从硬件方面来解决,
回复
引用
举报
leodan
关注
私信
精华:0帖
求助:0帖
帖子:15帖 | 196回
年度积分:0
历史总积分:320
注册:2004年5月07日
发表于:2007-04-22 11:19:00
10楼
如果光清零肯定是不行的呢,首先要做个程序判断一下取什么值才可以,加硬件抗干扰也是必要的。既然出现干扰就一定要想办法清除才好呢。我想如果是干扰也只有这些手段解决了。
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-22 19:00:00
11楼
加硬件是不可能了,公司不会为个这事出钱的。只能想程序方面的办法了。
“数据地址有其他地方使用”,这是不可能出现的,我用过的寄存器我都要用笔记下来的,绝对不会发生这事儿。
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-22 19:08:00
12楼
要不这样吧,
load f0010
cmp c000 0001
and f122
and p3 //p3为1号变频使能信号 地址02
modcom 1 d100 d103 m0 //d100为h0203 d101为h8000
load m0
mov d103 d500//成功时显示D500的数值
load m1
mov 0 d103 //错误时清零
回复
引用
举报
leodan
关注
私信
精华:0帖
求助:0帖
帖子:15帖 | 196回
年度积分:0
历史总积分:320
注册:2004年5月07日
发表于:2007-04-24 11:39:00
13楼
我还是建议你一下子先取十个数值先,然后一个一个的比较下来,去掉不用的,现在的问题不是你不可以成功的显示或者移不过去,而是你那里有干扰不可以正确的显示你要的数值啊,所以先判断你那里接收的数据是不是已经是这么多了,然后再比较一下,选择你要的范围的值,最后再送给HMI,再把数值清零,你上面那样做,我感觉是不会达到你想要的效果的,最多好一点点!
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-04-26 11:33:00
14楼
感觉 这样判断用的时间太长了.取10个数就要100*10ms 况且我还要采集20组数.那样刷新一次是时间太长了.
回复
引用
举报
leodan
关注
私信
精华:0帖
求助:0帖
帖子:15帖 | 196回
年度积分:0
历史总积分:320
注册:2004年5月07日
发表于:2007-04-26 14:14:00
15楼
一次性把20组的数据都采集来.大概是0.1秒左右吧?然后再采十次,作个判断也就1秒的时间啊,这样比较的快.不要分开取,那样就麻烦了!
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-05-02 15:13:00
16楼
数要一个一个发,怎么一次性能搞定20组?不理解。
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-05-05 11:32:00
17楼
LG k120S的CRC校验需要单独写么?怎么处理?发送的时候CRC放在什么位置?
回复
引用
举报
leodan
关注
私信
精华:0帖
求助:0帖
帖子:15帖 | 196回
年度积分:0
历史总积分:320
注册:2004年5月07日
发表于:2007-05-09 10:07:00
18楼
是一个一个的发的,我的意思是发完20个再做个判断了啦.那个是看你INV需要不需要写校验玛的吧!上次我们做的和三菱的就有写的,是INV要求要最后写校验码的,不写不运行的.
回复
引用
举报
athlon XP
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 15回
年度积分:0
历史总积分:68
注册:2004年12月09日
发表于:2007-05-11 18:00:00
19楼
crc怎么写?
回复
引用
举报
leodan
关注
私信
精华:0帖
求助:0帖
帖子:15帖 | 196回
年度积分:0
历史总积分:320
注册:2004年5月07日
发表于:2007-05-14 10:07:00
20楼
这个是查变频器的资料,根据变频器的要求往里面写数值的.如果变频器不要求写,例如LG的PLC和LG的变频器通讯走专用协议的话,就不要写的!三菱的通讯的程序,我很快就有了,过几天发来可以给你参考一下,目前还处在调试阶段,但是通讯是通上了,也没有什么大问题,只是有点小的现场干扰!不知道你能不能用的上!
回复
引用
举报
热门招聘
相关主题
PC(上位机)与PLC串行通讯协议...
[9430]
典型的PLC远程监控问题
[12267]
(已结贴)工控PLC擂台第41期-...
[19439]
ModbusRTU串口通信协议视频教...
[10720]
可编程序控制器(PLC)原理及应...
[23600]
PLC、DCS、FCS三大控制系统的特...
[11448]
用过和利时PLC的请进
[10091]
三菱plc的for next循环问题
[9042]
西门子S7-1200与基恩士扫码器...
[8985]
(已结贴)工控PLC擂台第40期-...
[7900]
官方公众号
智造工程师
客服
小程序
公众号
首页
上一页
1
2
下一页
尾页