您现在所在的是:

施耐德电气论坛

回帖:33个,阅读:1783 [上一页] [1] [2] [3] [4] [下一页]
784
微鑫科技
文章数:1231
年度积分:784
历史总积分:784
品牌积分(施耐德):35
注册时间:2019/11/26
发站内信
发表于:2022/2/23 22:04:47
#20楼
像你这样的老鸟,逻辑上不会出问题,出问题的部分估计是对时间的判定,下面画了一个简单的信号时序图。
附件 脉冲.jpg
遇到SB,请不要和他争辩,认同他所有的观点,让他变成一个大SB。
784
微鑫科技
文章数:1231
年度积分:784
历史总积分:784
品牌积分(施耐德):35
注册时间:2019/11/26
发站内信
发表于:2022/2/23 22:12:47
#21楼
之前做过类似的程序,方法是定义5个变量,如检测第1通道的信号,当检测到通道1从高至低变化后,就开始计时,当到达时间后(如2秒),第1个变量置1,如果在此时间内,只要由低往高跳变,无论之前累加的时间是多少,哪怕是1.9秒,也要全部清零,重新累加,当5个通道的检测变量全部为1后,才算有效。如果传感器不出问题,程序没有写错,还能出问题,那只能找到离你最近的庙里好好烧烧香了。
遇到SB,请不要和他争辩,认同他所有的观点,让他变成一个大SB。
38045
知道一点
文章数:22547
年度积分:2464
历史总积分:38045
品牌积分(施耐德):170
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2022/2/24 8:23:36
#22楼
回复 #21楼 微鑫科技
这样是不是要用5个定时器?
5个变量and一下用一个定时器足矣。
快乐 幸福 自由 比什么都重要
784
微鑫科技
文章数:1231
年度积分:784
历史总积分:784
品牌积分(施耐德):35
注册时间:2019/11/26
发站内信
发表于:2022/2/24 9:36:51
#23楼
回复 #22楼 知道一点
只需要一个定时器。
sbit INT_1=P1.X//第1通道输入
bit INT_1_B=0;//第一通道输入标志变量
unsigned char INT_1_TIM=0;//第一通道输入计时变量
void main()
{
while(1)
{
if(INT_1==1&&INT_1_B==1)//如果通道1为高电平,且通道标志为1,则清零通道1标志和时间
{
INT_1_B=0;INT_1_TIM=0;
}
if(INT_1==0&&INT_1_B==0)//如果通道1为低电平,且通道1标志为0,则将通道1标志为1,且时间清零
{
INT_1_B=1;INT_1_TIM=0;
}
if(INT_1==0&&INT_1_TIM>=200.......)//通道1-通道5
{
//执行有效动作
}
}
}

void Tim1_ISR() interrupt X //定时器中断服务函数
{
if(INT_1==0&&INT_1_B==1&&INT_1_TIM<200)
{
INT_1_TIM++;
}
.
.
.
.
}
遇到SB,请不要和他争辩,认同他所有的观点,让他变成一个大SB。
28397
秀空
文章数:13412
年度积分:1223
历史总积分:28397
品牌积分(施耐德):95
注册时间:2012/10/26
发站内信
2018春节活动(三)
2014相约国庆
发表于:2022/2/24 9:48:07
#24楼
监控一下程序
38045
知道一点
文章数:22547
年度积分:2464
历史总积分:38045
品牌积分(施耐德):170
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2022/2/24 9:48:41
#25楼
回复 #23楼 微鑫科技
看不懂这个

PLC只要
ld x0 and x1 … and x4 tim 0 #20
ld t0 set(或者out)y0
快乐 幸福 自由 比什么都重要
6949
乌龟船长
文章数:689
年度积分:628
历史总积分:6949
品牌积分(施耐德):72
注册时间:2015/6/24
发站内信
发表于:2022/2/24 16:25:11
#26楼
以下是引用知道一点2022/2/24 9:48:41的发言:
看不懂这个

PLC只要
ld x0 and x1 … and x4 tim 0 #20
ld t0 set(或者out)y0
有时候PLC就是这么简单粗暴
1791
xiao007
文章数:256
年度积分:56
历史总积分:1791
品牌积分(施耐德):207
注册时间:2001/4/11
发站内信
发表于:2022/2/24 16:54:01
#27楼
是信号干扰是,用了个新模块,然后报警输入信号老是误感应,信号肉眼可见没有接通,但是程序里感应到了,我还是一个个把信号屏蔽了才找出来出来的
[此贴子已经被作者于2022/2/24 16:54:10编辑过]
38045
知道一点
文章数:22547
年度积分:2464
历史总积分:38045
品牌积分(施耐德):170
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2022/2/24 22:19:04
#28楼
这个干扰不是一班的牛
快乐 幸福 自由 比什么都重要
1840
handafen
文章数:277
年度积分:49
历史总积分:1840
品牌积分(施耐德):249
注册时间:2001/3/21
发站内信
发表于:2022/2/25 9:24:00
#29楼
干扰总是出现的莫名其妙。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

93.6006