您现在所在的是:

三菱Mitsubishi

回帖:13个,阅读:463 [上一页] [1] [2] [下一页]
1422
单单
文章数:105
年度积分:115
历史总积分:1422
注册时间:2009/6/29
发站内信
发表于:2026/8/6 1:23:31
#0楼
首先见贴和评论:http://bbs.gkong.com/archive.aspx?id=502823,已用FX3U写出来了,程序如下:
附件 1.jpg

附件 2.jpg

但是FX5U把SPD指令的D+2取消了,有偿用FX5U写同功能程序,验证可用,有偿价格500块,微信:Power-Generation
[此贴子已经被jint于2026/8/7 9:11:10编辑过]
2771
chengfeil123
文章数:190
年度积分:446
历史总积分:2771
注册时间:2010/7/16
发站内信
发表于:2026/8/6 7:45:03
#1楼
可以换一个写法
[此贴子已经被作者于2026/8/6 7:46:24编辑过]
3602
czhaii
文章数:815
年度积分:1244
历史总积分:3602
注册时间:2016/3/13
发站内信
发表于:2026/8/6 8:32:23
#2楼
24年的项目
考虑考虑单片机
   STC8H系列、Ai8系列、STC32G系列 支持 16位高级PWM定时器(支持捕获、比较、PWM、正交编码器);
   STC15系列、STC12C5A60S2 则主要是 PCA/CCP/PWM模块(可编程计数器阵列);
   STC8G、STC8A8K64D4 也各有各自的增强型PWM。

请问您使用的是哪一款具体型号?以及您的应用场景是什么?
在您告知型号之前,我先帮您梳理一下这三大功能的通用概念,并说明各系列的支持差异,这样您也能更清楚地提问:
1. 捕获(Capture)

   作用:测量外部信号的脉宽、周期、频率。
   原理:当检测到外部输入信号(如上升沿/下降沿)时,硬件自动把当前定时器计数值"捕获"到寄存器中,通过两次捕获值的差值即可算出时间。
   典型应用:测转速(霍尔传感器)、测PWM占空比、测光耦信号周期等。

2. 比较(Compare)

   作用:当定时器计数值与预设的比较寄存器值相等时,触发一个动作(如翻转I/O、产生中断、触发其他事件)。
   原理:计数器不断累加,与比较值比较,相等即触发。
   典型应用:产生周期性中断、精确延时、软件定时。

3. PWM输出(Pulse Width Modulation)

   作用:输出可调占空比的方波,用于调光、调速、控制舵机、驱动电机等。
   原理:在比较匹配时置位/清零输出脚,通过改变比较值调节占空比。
   典型应用:LED调光、直流电机调速、无源蜂鸣器、呼吸灯等。
2771
chengfeil123
文章数:190
年度积分:446
历史总积分:2771
注册时间:2010/7/16
发站内信
发表于:2026/8/6 10:33:04
#3楼
查了一下手册,试试脉冲定时器TP或者TP_10指令试试这个好像替换SPD的
24035
bnnyygy
文章数:6898
年度积分:1308
历史总积分:24035
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2026/8/6 11:29:49
#4楼
兄弟们,500元啊,冲鸭表情
24035
bnnyygy
文章数:6898
年度积分:1308
历史总积分:24035
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2026/8/6 15:24:10
#5楼
补充一下,没看懂LZ要干嘛,


SPD S1 S2 D  S1=测量输入端子X*,S2是时间单位*ms,D是计算结果数

脉冲强度:
仅在源代码2指定的时间(单位为ms)范围内计算源代码1指定的输入的脉冲,并将该结果存储到目标指定的元素中。

哪里有啥D+2?


其实,任何PLC应该都可以做啊,没啥难度,

脉冲采集计算就OK了,不用SPD应该也可以的,定时中断+IO中断,应该也可以做出来。

100ms定时中断,X端子就是IO中断;

不过FX5U有SPD,那就直接用啊;


你后面无非把数据存入表格,然后求和/数量=平均值,均值一下?


随便SPD采集,然后写入数据列队 几行代码的事情,有这么麻烦吗。。。
对了,还有AI加持,不难吧
[此贴子已经被作者于2026/8/6 15:29:13编辑过]
47304
YXBK 版主
文章数:21767
年度积分:2232
历史总积分:47304
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2026/8/6 16:23:03
#6楼
看你的程序大概就是把采集的10个100MS数据先求和再算平局

这样的话,可以用高速计数配合SM410(0.1秒时钟),100MS就是0.1秒

SM410上升沿一到,就把高数计数的结果传到你的数据表,同时复位高速计数器
大家一起学习
47304
YXBK 版主
文章数:21767
年度积分:2232
历史总积分:47304
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2026/8/6 16:29:11
#7楼
以下是引用bnnyygy2026/8/6 15:24:10的发言:
补充一下,没看懂LZ要干嘛,


SPD S1 S2 D  S1=测量输入端子X*,S2是时间单位*ms,D是计算结果数

脉冲强度:
仅在源代码2指定的时间(单位为ms)范围内计算源代码1指定的输入的脉冲,并将该结果存储到目标指定的元素中。

哪里有啥D+2?


其实,任何PLC应该都可以做啊,没啥难度,

脉冲采集计算就OK了,不用SPD应该也可以的,定时中断+IO中断,应该也可以做出来。

100ms定时中断,X端子就是IO中断;

不过FX5U有SPD,那就直接用啊;


你后面无非把数据存入表格,然后求和/数量=平均值,均值一下?


随便SPD采集,然后写入数据列队 几行代码的事情,有这么麻烦吗。。。
对了,还有AI加持,不难吧
[此贴子已经被作者于2026/8/6 15:29:13编辑过]


D+2的用途是,采集时间100MS到时,把采集到的数据传到数据表里面去

FX5U是有SPD,但不知道什么时候才更新

而如果有D+2,就可以根据这个剩余时间来判断
大家一起学习
1422
单单
文章数:105
年度积分:115
历史总积分:1422
注册时间:2009/6/29
发站内信
发表于:2026/8/6 20:10:07
#8楼
回复 #5楼 bnnyygy
在主程序直接用SM410,会因扫描周期影响准确性,我这个要100精准
24035
bnnyygy
文章数:6898
年度积分:1308
历史总积分:24035
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2026/8/6 20:31:29
#9楼
以下是引用单单2026/8/6 20:10:07的发言:
在主程序直接用SM410,会因扫描周期影响准确性,我这个要100精准

具体工艺不了解你的,你要说准确性,那就用定时中断,100ms中断一次,但是还是要考虑PLC扫描周期的影响,即使100MS中断计算出你需要的值,但是这个值最后还是要做其他计算处理

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

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

78.0005