工控人,出差行走各地,大大小小的项目,各种工况的项目现场,足迹遍布大江南北,海内外,海陆空。见过不一样的风土人情,体验过各种各样的客户需求。最遗憾的是时常不能和亲爱的人一起生活,最欣慰再苦再累的时候也有一个人在家等着你回去。
不知是谁给笛卡尔心形线杜撰了浪漫又悲凉的爱情故事,为❤镀了层留洋归来的金,央妈易趁520之际撒狗粮,发行了一波颜值超高心形纪念币,作为工控人,我也用这个特别函数曲线,来献给美丽善良大方聪慧的另一半。
浪漫的心形线的函数不止一个,本文选取其中一个来表达,先用MATLAB仿真验证,再用三菱的GX Work3和GT Designer3模拟展示。
Ⅰ、效果展示
先用两个动图逐帧展示心形线描绘过程,这里用到GT Designer3里面的散点图表功能。
①用直线显示心形
②用点显示心形
Ⅱ、曲线特性
把函数转化成代码格式写入MATLAB,就能得到函数曲线,代码如下:
x = -1.57:0.001:1.57;
y1 = (cos(100.*x).*sqrt(cos(x))+sqrt(abs(x))-0.7).*(4-x.^2).^0.01;
figure
plot(x,y1)
通过观察函数图像,可以看到心形显示在X∈(-2,2),Y∈(-2,1.5)区间内,这个区间值可作为我们图表显示的限位值。
Ⅲ、程序调试
我们设计一个程序,将X轴两极限值500等分,并从小到大分别将X值代入函数计算出Y值,在通过GT Designers3的散点图表功能,逐帧将这些点描绘展示出来。
①初始化程序
//初始赋值
enCache[0]:=E-1.5701;
DFMOV(TRUE,D2100,K20,D0);
//计数清空
wCount:=K0;
②函数图像生成
//X轴坐标
EMOVP(SM415 AND wCount<K500,E3.14/E500*INT_TO_REAL(wCount)+E-1.57,eXaxis);
//Y轴坐标
EMOVP(SM415 AND wCount<K500,(COS(E100*eXaxis)*SQRT(COS(eXaxis))+SQRT(ABS(eXaxis))-E0.7)*(E4-eXaxis*eXaxis)**E0.01,eYaxis);
//步骤计数
INCP(SM415 AND wCount<K500,wCount);
③静态展示
//保持延时
OUT_T(wCount>=K500,T0,K50);
在GT Designers3插入散点图表,并进行相应设定:
网友评论