📄 avc.lst
字号:
703 3 s_byte_nums=get_byte_nums(infor);
704 3 TR_noans();
705 3 called=0;
706 3 }
707 2
708 2 if(receive_p_out==1)
709 2 {
710 3 point=&pp.k5;
711 3 for(p_sec=0;p_sec<14;p_sec++)
712 3 *(point+p_sec)=rbuffer[p_sec*2+2]*256+rbuffer[p_sec*2+3];
713 3 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
714 3 s_byte_nums=4;
715 3 TR_noans();
716 3 // demand=0;
717 3 receive_p_out=0;
718 3 }
719 2
720 2 if(receive_p_in==1)
721 2 {
722 3 point=&pp.x[nonce_sec][0];
723 3 for(p_sec=0;p_sec<4;p_sec++)
724 3 *(point+p_sec)=rbuffer[p_sec*2+3]*256+rbuffer[p_sec*2+4];
725 3 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
726 3 s_byte_nums=4;
727 3 TR_noans();
728 3 // demand=0;
729 3 receive_p_in=0;
730 3 }
731 2
732 2 if(avc_up==1)
733 2 {
734 3 avc_dir=1; //方向——上
735 3 avc_enable=0; //使能
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 13
736 3 gate=1;
737 3 avc_up=0;
738 3 }
739 2 if(avc_down==1)
740 2 {
741 3 avc_dir=0; //方向——下
742 3 avc_enable=0;
743 3 gate=1;
744 3 avc_down=0;
745 3 }
746 2 if(motor_stop==1)
747 2 {
748 3 gate=0; //关8254门控信号
749 3 avc_enable=1; //关弧长使能
750 3 motor_stop=0;
751 3 }
752 2 if(urgent_stop==1)
753 2 goto BEGIN;
754 2 }
755 1
756 1 get_vc();
757 1 if(pp.k5==ON)
758 1 get_SENS();
759 1 else
760 1 SENS=5;
761 1 if(pp.k1==DC)
762 1 {
763 2 pp.avc_type=SP;
764 2 pulse_base=1;
765 2 }
766 1 work=3;
767 1 do
768 1 {
769 2 if(start_avc==1) //开始弧长
770 2 {
771 3 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
772 3 s_byte_nums=4;
773 3 TR_noans();
774 3 temp_voltage=0;
775 3 externel_voltage=1;
776 3 c_sample=0;
777 3 CTCON=CTCON&0X3F;
778 3 COM=0X36;
779 3 COUNT0=out0%256;
780 3 COUNT0=out0/256;
781 3 COM=0X76;
782 3 COUNT1=out1%256;
783 3 COUNT1=out1/256;
784 3 if(pp.k1==PDC)
785 3 {
786 4 if(pp.avc_type==SP||pp.avc_type==SPB)
787 4 {
788 5 pulse_base=0;
789 5 CTCON=CTCON|0X40; //CT3上升沿
790 5 }
791 4 else
792 4 {
793 5 pulse_base=1;
794 5 CTCON=CTCON|0X80; //CT3下降沿
795 5 }
796 4 IEN1=IEN1|0X08; //允许CT3
797 4 }
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 14
798 3 if(pp.k1==DC)
799 3 {
800 4 avc_ok=1;
801 4 c_sample=0;
802 4 CTCON=CTCON|0x20; //CT2下降沿
803 4 IEN1=IEN1|0X04; //允许CT2,采样保持脉冲
804 4 }
805 3
806 3 start_avc=0;
807 3 }
808 2
809 2 if(avc_ok==1&&need_para==1) //显示弧压
810 2 {
811 3 U51=AD5;
812 3 ini_sbuf(M_main,parameter1,0,0,0,0);
813 3 sbuffer[2]=U51/256;
814 3 sbuffer[3]=U51%256;
815 3 s_byte_nums=5;
816 3 TR_noans();
817 3 need_para=0;
818 3 }
819 2
820 2 if(avc_up==1)
821 2 {
822 3 if(pp.k5==OFF)
823 3 {
824 4 COM=0X76;
825 4 COUNT1=10%256;
826 4 COUNT1=10/256;
827 4 avc_dir=1; //方向——上
828 4 avc_enable=0; //使能
829 4 CTCON=CTCON|0X02;
830 4 IEN1=IEN1|0X01;
831 4 gate=1;
832 4 }
833 3 else
834 3 {
835 4 if(in_sector==1)
836 4 vc1=vc1+pp.x[nonce_sector][28]*100;
837 4 else
838 4 vc1=vc1+pp.du51*100;
839 4 if(pp.avc_type==SB||pp.avc_type==SPB)
840 4 vc2=vc1+200;
841 4
842 4 }
843 3 avc_up=0;
844 3 }
845 2
846 2 if(avc_down==1)
847 2 {
848 3 if(pp.k5==OFF)
849 3 {
850 4 COM=0X76;
851 4 COUNT1=10%256;
852 4 COUNT1=10/256;
853 4 avc_dir=0; //方向——上
854 4 avc_enable=0; //使能
855 4 CTCON=CTCON|0X02;
856 4 IEN1=IEN1|0X01;
857 4 gate=1;
858 4 }
859 3 else
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 15
860 3 {
861 4 if(in_sector==1)
862 4 vc1=vc1-pp.x[nonce_sector][28]*100;
863 4 else
864 4 vc1=vc1-pp.du51*100;
865 4 if(pp.avc_type==SB||pp.avc_type==SPB)
866 4 vc2=vc1+200;
867 4 }
868 3 avc_down=0;
869 3 }
870 2
871 2 if(sector==1) //进入新区间
872 2 {
873 3 if(avc_ok==1)
874 3 {
875 4 SENS=pp.x[nonce_sector][27];
876 4 if(pp.avc_type==SP||pp.avc_type==SPB&&pulse_base==1)
877 4 vc1=pp.x[nonce_sector][25]*100-100;
878 4 else
879 4 {
880 5 if(pp.avc_type==SB||pp.avc_type==SPB&&pulse_base==0)
881 5 vc1=pp.x[nonce_sector][26]*100-100;
882 5 }
883 4 vc2=vc1+200;
884 4 }
885 3 sector=0;
886 3 }
887 2
888 2 if(avc_ok==1&&stop_avc==1)
889 2 {
890 3 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
891 3 s_byte_nums=4;
892 3 TR_noans();
893 3 gate=0;
894 3 IEN1=IEN1&0XF2; //禁止CT0,CT2,CT3
895 3 avc=0;
896 3 avc_ok=0;
897 3 stop_avc=0;
898 3 externel_voltage=0;
899 3 temp_voltage=1;
900 3 }
901 2 /*
902 2 if(resend==1)
903 2 {
904 2 POINTER1=0;
905 2 RSUM=0;
906 2 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
907 2 s_byte_nums=get_byte_nums(answer);
908 2 }
909 2 */
910 2 }while(decrease==0);
911 1
912 1 if(avc_ok==1)
913 1 {
914 2 gate=0;
915 2 IEN1=IEN1&0XF2; //禁止CT0,CT2,CT3
916 2 avc=0;
917 2 avc_ok=0;
918 2 stop_avc=0;
919 2 externel_voltage=0;
920 2 temp_voltage=1;
921 2 }
C51 COMPILER V7.06 AVC 06/10/2005 14:33:44 PAGE 16
922 1
923 1 if(pp.h52>0)
924 1 {
925 2 while(lift==0)
926 2 {
927 3 if(urgent_stop==1)
928 3 goto BEGIN;
929 3 }
930 2
931 2 ini_sbuf(M_main,answer,S_ANSW,0,0,0); //焊枪提升
932 2 s_byte_nums=4;
933 2 TR_noans();
934 2 c_lift=2*pp.h52/0.0375;
935 2 COM=0X36; //弧长点动速度,1K
936 2 COUNT0=4000%256;
937 2 COUNT0=4000/256; //弧长采样脉冲,1K
938 2 COM=0X76;
939 2 COUNT1=c_lift%256;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -