ÔÆÌ⺣ - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

µ±Ç°Î»ÖãºÊ×Ò³ > »ªÖÐÊý¿ØÊÀ¼ÍÐÇPLC±à³Ì˵Ã÷Êé

»ªÖÐÊý¿ØÊÀ¼ÍÐÇPLC±à³Ì˵Ã÷Êé

  • 62 ´ÎÔĶÁ
  • 3 ´ÎÏÂÔØ
  • 2026/4/27 14:03:07

»ªÖÐÊý¿ØPLC±à³Ì˵Ã÷Êé

×¢£ºÊµ¼ÊÉÏ£¬±¾½ÚÌṩµÄº¯Êý¶¼·Ç³£¼òµ¥£¬Óû§Ò²¿ÉÒÔ¸ù¾ÝÇ°Ãæ¼¸½ÚµÄ½éÉÜ×Ô¼º±àд£¬Èç±¾º¯Êý¾Í¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º

void set_axis_home( int axis, //ÖáºÅ int start_stop) //Æð¶¯»ò½áÊø»ØÁã {

asm cli

if(start_stop) //Æð¶¯Öá»ØÁã {

*axis_ctrl(axis) |= AX_HMODE_SW; }

else //Í£Ö¹Öá»ØÁã {

*axis_ctrl(axis) &= ~AX_HMODE_SW; }

asm sti }

3.6.2 ÉèÖÃÖáµã¶¯ËÙ¶È

void set_axis_jog( int axis,

//ËùÖ¸¶¨µÄÖáºÅ£º0-15

int speed); //µã¶¯ËÙ¶È£¬µ¥Î»£ºÄÚ²¿Âö³å/²å²¹ÖÜÆÚ ±¾º¯Êý¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º void set_axis_jog(int axis,int speed) {

*axis_pvcmd(axis)=speed; }

3.6.3 ÉèÖÃÖá²½½øÖ¸¶¨¾àÀë

void set_axis_step( int axis, //ËùÖ¸¶¨µÄÖáºÅ£º0-15 long displacement); //²½½øÔöÁ¿£¬µ¥Î»£ºÄÚ²¿Âö³åµ±Á¿ ±¾º¯Êý¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º

void set_axis_step(int axis,long displacement) {

long l,l1,v,v1;

if(displacement==0)

return;

asm cli

l=*axis_pic_a(axis)+displacement; l1=abs(l);

v=l1/200*(*sys_iip_time()); //ËٶȼÆËã¡£µ¥Î»£ºÄÚ²¿Âö³åµ±Á¿/²å²¹ÖÜÆÚ v1=*axis_vmax(axis);

if(v>v1) // ËÙ¶ÈÏÞÖÆ¿ØÖÆ

v=v1;

25

»ªÖÐÊý¿ØPLC±à³Ì˵Ã÷Êé

if(v<2)

v=2;

*axis_pic_a(axis)=l; *axis_pic_v(axis)=v; asm sti }

3.6.4 ÉèÖÃÖáÒÆ¶¯¾àÀë¼°ËÙÂÊ

void set_axis_move( int axis,

//ËùÖ¸¶¨µÄÖáºÅ£º0-15

long displacement, //ÒÆ¶¯¾àÀëÔöÁ¿

int speed); //ÒÆ¶¯ËÙÂÊ£¬µ¥Î»£ºÄÚ²¿Âö³å/²å²¹ÖÜÆÚ

±¾º¯Êý¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º

void set_axis_move(int axis,long displacement,int speed) {

long l1,l2; int v1,v2;

if(displacement==0)

return;

asm cli

l1=abs(*axis_pic_a(axis)); v1=abs(*axis_pic_v(axis)); l2=abs(displacement); v2=abs(speed);

*axis_pic_v(axis)=(long) (l1*v1+l2*v2)/(l1+l2); *axis_pic_a(axis)+=displacement; asm sti }

3.6.5 ÉèÖÃÖáÒÆ¶¯µÄÄ¿µÄµØ¼°ËÙÂÊ

void set_axis_moveto(int axis, long position,

//ËùÖ¸¶¨µÄÖáºÅ£º0-15

//ÒÆ¶¯µÄÄ¿µÄµØ

int speed); //ÒÆ¶¯ËÙÂÊ£¬µ¥Î»£ºÄÚ²¿Âö³å/²å²¹ÖÜÆÚ ±¾º¯Êý¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º

void set_axis_moveto(int axis,long position,int speed) {

set_axis_move(axis,position-get_axis_pos(axis),speed); }

3.6.6 ÉèÖÃÖ¸¶¨ÖáÍ£Ö¹Ô˶¯

void set_axis_stop(int axis); //ËùÖ¸¶¨µÄÖáºÅ£º0-15 ±¾º¯Êý¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º

void set_axis_stop(int axis) {

long l,l1,v; asm cli

l=*axis_pic_a(axis);

26

»ªÖÐÊý¿ØPLC±à³Ì˵Ã÷Êé

v=*axis_pic_v(axis);

l1=v*(*sys_iip_time())/200; if(l>0) {

if(l>l1) l=l1; } else

if(-l>l1) l=-l; *axis_pic_a(axis)=l; asm sti

set_axis_jog(axis,0); set_axis_home(axis,0); }

3.6.7 ȡָ¶¨ÖᵱǰλÖÃ

long get_axis_pos(int axis); //ËùÖ¸¶¨µÄÖáºÅ£º0-15 ±¾º¯Êý¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º

long get_axis_pos(int axis) {

long l;

asm cli

l=*axis_pout(axis)+(*axis_pic_a(axis)); asm sti return l; }

3.6.8 Ö¸¶¨Öáµ±ÊÇ·ñÍ£Ö¹

int get_axis_den(int axis); //ËùÖ¸¶¨µÄÖáºÅ£º0-15¡£ ·µ»Ø1£ºÒÑÍ££¬0£ºÃ»ÓÐÍ£

±¾º¯Êý¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º

int get_axis_den(int axis) {

return (*axis_pic_a(axis)!=0||*axis_pvcmd(axis)!=0)? 0:1; }

3.6.9 ÉèÖÃÖáÊÖÒ¡ÒÆ¶¯

void handwheel( int h_no, //ÊÖÒ¡ºÅ int axis, //ÖáºÅ int step_mul); //²½½ø±¶ÂÊ 3.6.10 È¡ÊÖҡ״̬¶ÔÓ¦µÄÎ»ÒÆÁ¿

int get_handwheel(int handwheel);

//ÊÖÒ¡ºÅ

27

»ªÖÐÊý¿ØPLC±à³Ì˵Ã÷Êé

3.6.11 ÉèÖÃMSTÖ¸ÁîµÄÏìÓ¦º¯Êý

void set_mst_func( int ch, //ͨµÀ char name, //´úÂëÀàÐÍ£ºM¡¢S¡¢T void (*mst_func)(int)); //ÏìÓ¦º¯ÊýÈë¿ÚµØÖ·

µÚËÄÕ ±àдPLC³ÌÐòµÄ³£Óü¼ÇÉÓëʾÀý

±¾Õ½«Í¨¹ýÁ½¸ö³£ÓõÄPLC±à³Ì¼¼ÇÉÓëʾÀýÀ´¼Ó¿ìÄúÕÆÎÕÈçºÎÓÃCÓïÑÔ±àд»ªÖÐÊý¿ØPLC³ÌÐòµÄ½ø¶ÈÓëÖÊÁ¿¡£Ê×ÏÈ£¬ÎÒÃǸ´Ï°Ò»ÏÂCÓïÑÔÖÐÓйزÙ×÷ÔËËã·ûµÄ֪ʶ¡£

4.1 ³£ÓÃÔËËã²Ù×÷·û

¶ÔÓÚ»ù±¾µÄ&(Óë)¡¢~£¨·Ç£©¡¢|£¨»ò£©¡¢^£¨Òì»ò£©¡¢/ (ÇóÕû³ýÖ®ÉÌ)¡¢%£¨ÇóÕû³ýÖ®Óࣩ²Ù×÷·û£¬ÕâÀï¾Í²»×¸Êö¡£Èç¹ûÄúѧϰ¹ýCÓïÑÔ£¬¿ÉÒÔÌø¹ý±¾Ð¡½Ú¡£ 4.1.1 ÖÃ1²Ù×÷·û |= ºÍ ÖÃ0²Ù×÷·û &= ~

Ò»°ãµØ£¬ÔÚPLCÖУ¬X0.1±íʾµÄÊÇX¼Ä´æÆ÷µÚ0×éµÄµÚһ룬Y2.7±íʾµÄÊÇY¼Ä´æÆ÷µÚ¶þ×éµÄµÚÆßλ¡£Êý×ÖÒÔ0x¿ªÍ·µÄÊÇÊ®Áù½øÖƱíʾ·¨£¬ÔÚÕâÀïÓÃÊ®Áù½øÖÆÊÇΪÁ˸üÇå³þµØÅжÏλµÄÐòÊý¡£

µÍλ£º 0x01 ±íʾµÚ0λ

0x02 0x04 0x08

¸ßλ£º 0x10

0x20 0x40 0x80

±íʾµÚ1λ ±íʾµÚ2λ ±íʾµÚ3λ ±íʾµÚ4λ ±íʾµÚ5λ ±íʾµÚ6λ ±íʾµÚ7λ

Óɴ˿ɼû£º

Y[2] | = 0x80; Êǽ«Y2¼Ä´æÆ÷µÚÆßλµÄÖµÖÃ1 Y[2] &= ~0x80; Êǽ«Y2¼Ä´æÆ÷µÚÆßλµÄÖµÖÃ0

Òò´ËÍêÈ«¿ÉÒÔ°Ñ¡°|=¡±µ±×÷ÖÃ1²Ù×÷·û£¬¶ø°Ñ¡°&= ~¡±µ±×÷ÖÃ0²Ù×÷·û¡£

28

ËÑË÷¸ü¶à¹ØÓÚ£º »ªÖÐÊý¿ØÊÀ¼ÍÐÇPLC±à³Ì˵Ã÷Êé µÄÎĵµ
  • ÊÕ²Ø
  • Î¥¹æ¾Ù±¨
  • °æÈ¨ÈÏÁì
ÏÂÔØÎĵµ10.00 Ôª ¼ÓÈëVIPÃâ·ÑÏÂÔØ
ÍÆ¼öÏÂÔØ
±¾ÎÄ×÷Õߣº...

¹²·ÖÏí92ƪÏà¹ØÎĵµ

Îĵµ¼ò½é£º

»ªÖÐÊý¿ØPLC±à³Ì˵Ã÷Êé ×¢£ºÊµ¼ÊÉÏ£¬±¾½ÚÌṩµÄº¯Êý¶¼·Ç³£¼òµ¥£¬Óû§Ò²¿ÉÒÔ¸ù¾ÝÇ°Ãæ¼¸½ÚµÄ½éÉÜ×Ô¼º±àд£¬Èç±¾º¯Êý¾Í¿ÉÒÔÓÃCÓïÑÔ±í´ïÈçÏ£º void set_axis_home( int axis, //ÖáºÅ int start_stop) //Æð¶¯»ò½áÊø»ØÁã { asm cli if(start_stop) //Æð¶¯Öá»ØÁã { *axis_ctrl(axis) |= AX_HMODE_SW; } else //Í£Ö¹Öá»ØÁã { *axis_ctrl(axis) &= ~AX_HMODE_SW; } asm sti } 3.6.2 ÉèÖÃÖáµã¶¯ËÙ¶È void set_axis_jog( int axis, //ËùÖ¸¶¨µÄÖáºÅ

¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩
µ¥Æª¸¶·ÑÏÂÔØ
ÏÞÊ±ÌØ¼Û£º10 Ôª/·Ý Ô­¼Û:20Ôª
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£ºfanwen365 QQ£º370150219
Copyright © ÔÆÌ⺣ All Rights Reserved. ËÕICP±¸16052595ºÅ-3 ÍøÕ¾µØÍ¼ ¿Í·þQQ£º370150219 ÓÊÏ䣺370150219@qq.com