之前在使用S200系列的时候,输入以下代码,CPU的Q0.0端口就可以每秒输出脉宽为100us的10个脉冲,可是移植到Smart里,无论怎么修改SMB67的值,PTO模式都只能输出10ms周期的脉冲,如果改为PWM模式,可以输出us时基的脉冲,但是又不能计数,如何解决这个问题呢?貌似Smart系列和S200系列在兼容性的问题上还是有很多出入
LD Clock_1s:SM0.5
EU
MOVB 16#C5, PLS0_Ctrl:SMB67
MOVW 100, PLS0_Cycle:SMW68
MOVD 10, PTO0_PC:SMD72
PLS 0
图片说明:
最佳答案
S7-200 与 S7-200 SMART 使用PLS指令控制脉冲串输出(PTO)的SM 定义不同,看看下面的链接,是不是有办法呢。
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/projectmigrator/PLS.htm
提问者对于答案的评价:
大宝兄的点解是正确的,小弟我太粗心,没留意帮助文件。SMW68在PWM模式和PTO模式含义是不一样的,分别表示周期和频率,不再像S200那样单独表示周期。问题解决了,可是新的问题也来了,16位的数频率最高只能65KHz,我想输出100KHz怎么办呢?
最佳答案作者回复:
在单段管道化期间,频率的上限为65,535Hz,如果需要更高的频率(最高为100,000Hz),则必须使用多段管道化。
还是在上在的链接中,看中间部分。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc281564.html