高速输出/PWM控制高速输出有4种方法。分别为以下:以Y100为例。输出控制:PWM_OUT(Y100,频率,占空比)。频率范围为400Hz~100KHz,占空比范围为0-100,为整数,请勿使用小数。占空比0=无输出,100=持续高电平。获取输出频率:PWM_GetFre(Y100)。返回设置的频率,若未设置,返回0。获取输出占空比:PWM_GetDuty(Y100)。返回设置的占空比,若未设置,返回255。停止输出:PWM_STOP(Y100)。Y100将为0。注:若不进行高速输出,其默认将为一个通用输出。
高速计数输入需要用到特殊辅助继电器、特殊数据寄存器,这里使用了一看就明白的变量值。使能高速计数输入X0,注意使能后,请勿将其用作通用输入接口:DX0_CNT=0;//设置起始计数值
MX0_OUT=0;//清除溢出标志
DX0_MAX=100;//定义设置上限
SET(MX0_EN);//启动停用高速计数输入X0,停用后,可用作通用输入接口:RST(MX0_EN);//清除使能。除非用户手动清除计数值DX0_CNT,否则启动后继续计数当起始计数值DX0_CNT达到设置上限DX0_MAX,溢出标志MX0_OUT会置1,并且DX0_CNT从0开始。需要用户手动清除溢出标志MX0_OUT。需要注意,受限于MCU的性能,若值范围为0~255,则计数的设置上限,以及起始计数值,设置时均不可超出此范围。若需要使用高速计数输入X3,将以上代码中的X0修改为X3使用即可。
把FX2N兼容一下,能兼容FX3U更好
日期和时间
dhms是一个集合了设备已运行时间的对象。包含天数、时、分、秒。
dhms.day,天,最大到32767。
dhms.hour,时。
dhms.min,分。
dhms.sec,秒。
用户可将其加载至通用数据寄存器。
模拟量输入
直接读取值即可:
D0=AI0;
用起来超方便
怎么把modbus的通讯速率改为9600?
常州工控-国光 发表于 2026-3-5 17:36
怎么把modbus的通讯速率改为9600?
目前还修改不了,是固定的4800,也有仿真性能限制的原因,项目仍然在完善中
目前已在开发板上实现了modbus 9600/8/n/1的通讯方式.
另外实际PLC中XY是八进制的,没有此项目的X8、X9等!!
常州工控-国光 发表于 2026-3-5 21:50
另外实际PLC中XY是八进制的,没有此项目的X8、X9等!!
搜索了下,确实是8进制,我修改一下