签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
未调用PWM指令的一种应用
今天下午,在S7-1200版区,看到我之前发帖的网友回复,网友告诉我类似PWM脉冲转换电压板的商家,据说可以在所有晶体管输出的DO模块上实现PWM转换电压的功能。我想既然我有硬件条件,何不再测试一番呢。
我们知道,S7-1200的高速脉冲输出的资源是有限的,图示:
我测试的S7-1214C可以调用4路PWM高速脉冲输出,其它的所有S7-1200系列均可以调用4路是PWM脉冲输出。
针对于网友的回复,我大概思考了一个测试方向。就是在测试项目中,调用循环定时中断,如OB30,设置循环定时中断的时间周期为1mS,脉冲的宽度暂时定在100mS,这样做的目的就是想让每以路脉冲占空比的输出在0 ~ 100%之间任意调整。
普通数字量输出方式的脉冲输出测试:
1)创建一个循环定时中断,设置中断时间为1mS,图示:
2)在OB30中编辑我需要的测试程序:
3)哦,对了。由于我忘了带万用表来判断PWM转换电压的输出值,也正好S7-1214C本机集成有2路模拟量电压输入,正好拿来使用,于是,又组态了模拟量通道0:
创建了一个测试需要的数据块DB1:
4)连接所有外部线路,上电后,编译保存项目,将硬件及程序下载到S7-1214C的cpu中:
先测试占空比50%试试:以下所有的测试数据没有经过转换板电位器的修调,目的只是看普通晶体管输出通过PWM转换电压的效果。
数据在4.0 ~ 5.2V之间来回跳动,不是很稳定。
5)返回设备视图的cpu属性的硬件组态,修改模拟量输入通道的滤波常数试试:
设置到最强的选项载测试:
数据明显的稳定了,在5.0 ~ 5.1V之间变化。
6)再将占空比设置到10%试试结果如何:
能够满足测试,再试试控制精度,将占空比数据设置到15%,看结果:
MD14在1 ~ 2之间变化,这一个是我的转换程序的精度问题了,重新修改SCALE_X的MAX管脚为100.0,(实际上看NORM_X指令也能够看到输出1.59V左右的数据值):
比例缩放MAX放大到100.0后,出现了想要的模拟1.5V的显示。我试着将占空比试着为1%,同样能够输出0.1V左右的电压。
测试完成,普通的数字量晶体管输出,通过用户自己定义的脉宽PWM调制,调制出一个脉冲串来转换为电压的功能,这样能够实现,这将对plc模拟量输出的数量限制变的模糊起来了。上述测试结果纯粹是个人喜好,就是闹着玩似的,所测试的结果也具有一定的局限性。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1760539&b_id=50&s_id=0&num=32
本胖的思路跟这个差不多,但......
1、如果单纯的是为了输出电压,PWM的周期应该尽可能的短,如果精度要求是1%,那就跟楼主的一样了。如果是控制加热(SSR),那周期可以设置为1s或者更长。
2、给定值如果是连续变化的,该咋办?本胖的想法是在每个“PWM”周期开始的时候“采样”一次给定值。在本次PWM未完成之前这个给定值不变。
实验数据以及分析,非常到位,感谢!
想法可以有,贵在验证测试这一关,首先是需要过了这一关,才可以去现场实际测试应用。
上述测试,也是昨天网友交流聊天时的内容验证。我开始是模拟仿真的,因为没有实体机测试,担心在这样的频率下是否还能够稳定。但是,从昨天晚上在实体机上测试的结果,应该可以值得去现场应用。plc这侧是没有问题的应该是稳定的,真正应用只是担心PWM转换板的稳定性了。
要链接下面的帖子才专注了。
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1760346&b_id=50&s_id=0&num=13#anch
是的,原贴在那里。
本想写贴时沿用原贴标题,改为之一、之二的方法,后来想了想还是放弃了。
上述验证仅仅只是停留在办公室或者实验室之类的,而没有真正应用到生产一线的现场。
如果想使用,前提是做好抗电磁干扰的基本功,及转换板的合理安装。
引用4楼详细内容:
你采用中断方式输出,还有一种是定时输出你可以尝试下。比如就用1MS的定时输出,定时器就是变量,效果一样。
引用5楼详细内容:
不采用定时器的理由:
首先定时器的刷新机制问题,如果定时器是同步的,则可以,反之,可能会影响到输出精度。
另外,当多个通道应用,如果需要同步脉冲,那还是我这样的方法稳定可靠。反正,循环定时中断的资源放着也是放着,何不利用起来呢。
所以,我认为采用定时器做类似的测试,意义并不大,也就没有做测试了。如果抛开精度问题,定时器也是可以的。
引用6楼详细内容:
我就用过定时器做的,精度没问题。几路同时输出不同电压都没问题。
引用7楼详细内容:
可能转换板对脉冲宽度的要求比较宽泛,好的。
引用1楼详细内容:
本胖用224XP做过一个用于卤肉的电炉子控制系统(本胖是个吃货)。没有温度反馈,是个开环控制。就是PLC的晶体管DO驱动SSR(过零型),SSR驱动电炉子。PWM的周期记得是10S,一份是100ms,精度1%。
小声的说:卤肘子味道好极了。
注:卤肉的诀窍就是小火泡熟,卤牛肉几乎没有肉丝(不柴),用WINCC给定参数,三段加热,每段的%和时间。
叫你小胖,我想我也应该有可以这样叫了的年龄了。
原来,你胖的出处在这里可以找到答案啊。吃估计很多人都喜欢,当然,我也不例外,我的体重已经属于是偏胖的队列里排了。胖的人可能心态都比较好,凡是都往好的一面去想。
回正文:可以的。当外部加热条件都相对固定时,用开环方式也是可以控制温度的,前提是已知加热的外部条件。
没有推荐的意思,类似的转换板就有,就是电压转换为PWM脉款调制器,我同时购的几块,没有测试过,可能用这个转换板会更加容易获取到你想要的。
本胖是69年的啊!虽然很想当小胖,但肯定是老胖了。
引用11楼详细内容:
我是66年,属于同龄人吧。
我非常敬佩我们这个时代的人,都是从无到有,刚刚参加工作那会,国内压根没有plc这玩意。
等到80年代中、末期,我才慢慢接触到,plc、触摸屏、伺服控制器及电机,不曾想自己磕磕绊绊已经走过来了。
哦,对了,还是小胖,没有问题。
那时候所谓的接触,纯粹是打打酱油的。
自己自主开始做小项目是90年代中期开始,我是开始用三菱、台达、欧姆龙这样plc入的门。
引用12楼详细内容:
好吧,在您面前还只能当小胖了。本胖开始用的是三菱FX-2N,但因为抵制日货,就换成了西门子的。从三菱改成西门子时是各种的不习惯,三菱那个非常直观,西门子的就很麻烦。当时用了西门子的300PLC,不是200。后来学会了西门子,反过来看三菱(FX-2N),那简直太low了。
后来一直用西门子的PLC+WINCC(D),赶脚那是无坚不摧啊!
本胖上学的时候就不是好学生,喜欢胡思乱想。上班后也喜欢瞎想,一直对通讯比较感兴趣,在接触wincc之前,甚至还在DOS下用UCDOS、UCSDK、TURBO C做出过仿Windows的图形操作界面。7000行的C,近6000行都是做画面的。
从单片机、DOS工控机到PLC+HMI/SCADA,本胖都在摸索FCS(现场总线控制系统),也做过一些实际的工程应用,自得其乐吧。
本胖觉得自己的缺点还是有很多基础不够扎实,准备好好的学习基础。
非常感谢坛子中的大佬们。
引用13楼详细内容:
必须是不断学习,不断超越自己。
我也是喜欢胡思乱想的个性,同感。
我不知道,一不小心DO是24V常态输出,模拟量输入还能安好?
这也不是什么高科技,二三十年前搞个脉冲输出,并个电容,去变频调速的应用很普遍的,楼主来个强滤波也是与时俱进了。
估计90后的都不知道楼主在干些啥
不用不小心,我测试类似的绝端条件是测试过的,如果是24V长通,也相当于脉宽占空比100%的条件下,模拟量输出是10V,相反,关闭脉冲PWM输出,相当于占孔比0%,转换板为0V。
引用16楼详细内容:
有个开启门电压,也就是最低频率要100HZ的吧,当然0%会是0V,如果低于100HZ的PWM也是没有电压输出的。
引用3楼详细内容:
“PWM的周期记得是10S,一份是100ms,精度1%。”能否把这句话用手工画个波形图展示下,不太理解。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录