TIA环境下SCL编程练习:产生m到n之间的随机整数,存入数组
假设需要读取100个随机数,存入有100个成员的数组。做这个练习是为了学习一下SCL编程。随机数使用系统时钟纳秒数来线性转换。
新建项目,选用1500PLC(6ES7 513-1AL02-0AB0,当然可以选用其它型号),设定本地时区,建立网络。
新建DB,建立变量,取消优化块的访问。
新建FC,先建立内部变量如下截图
在该FC下写SCL程序段
FOR #i := 0 TO 99 DO
#Ret := RD_LOC_T(#Current_DT);
#nanosecond := #Current_DT.NANOSECOND;
#nanosecond_real := DINT_TO_REAL(#nanosecond MOD 100000); (* 取纳秒后4位数*)
#m_real := DINT_TO_REAL(#m);
#n_real := DINT_TO_REAL(#n);
#nanosecond_1 := #nanosecond_real / 9999.0 * (#n_real - #m_real) + #m_real;
#random_dint := REAL_TO_DINT(#nanosecond_1);
#Array_dint[#i] := #random_dint;
END_FOR;
在OB1调用该FC
通过WINCC画面给m和n赋值,就可以产生不断变化的数组中的数值了。可以通过使Pause为1来暂停随机数产生。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2022-12-21 cicode定制过程分析器:删除特定的板