今天教的直接用 PC 程式來控制機臺 ( 臺灣丙級機電整合術科第一題 )
用 PC 來程式…真的不方便,還是 Ladder 比較容易。
附上程式
PCtoPLC.rar (73 K) 下载次数:210 private void timerAuto_Tick(object sender, EventArgs e)
{
int a1 = X0[0];
int a0 = X0[1];
int s0 = X0[2];
int s1 = X0[3];
int p0 = X0[4];
int p1 = X0[5];
int p2 = X0[6];
int COS2 = X1[3];
int COS1 = X1[4];
int PB1 = X1[5];
int ST = X1[6];
int EMS = X1[7];
int A = Y0[0];
int R1 = Y0[2];
int R2 = Y0[4];
int R3 = Y0[5];
int BF = Y0[6];
int BB = Y0[7];
int RL = Y1[5];
int YL = Y1[6];
int GL = Y1[7];
switch (StepN0 )
{
case 1:
RL = 0; // Y15 紅燈滅
if (a0 == 1 && p0 == 1)
{
GL = 1; // Y17 綠燈亮
if (COS1 == 1 && COS2 ==1 && ST ==1) // COS1 & COS2 & ST
{
StepN0 = 2;
TAuto = 0;
}
}
break;
case 2:
TAuto =TAuto +1;
if (TAuto == 10)
{
R1 = 1;
GL = 0;
if (s0 == 1)
{
StepN0 = 3;
TAuto = 0;
}
}
break;
case 3:
TAuto =TAuto +1;
if(TAuto ==20 && s1 ==1)
{
StepN0 =4;
}
break;
case 4:
R1 =0;
if (R1 ==0)
{
A = 1;
}
if(a1 ==1)
{
BF = 1;
TAuto = TAuto + 1;
if (TAuto == 20)
{
StepN0 =5;
}
}
break;
case 5:
A = 0;
if(a0==1)
{
R2=1;
if (p1 ==1)
{
TAuto = 0;
StepN0 = 6;
}
}
break;
case 6:
R2 = 0;
if(COS2 ==1)
{
TAuto = 0;
StepN0 = 7;
}
if (COS2 == 0 && ST==1)
{
TAuto = 0;
StepN0 = 7;
}
break;
case 7:
BF = 0;
BB = 1;
TAuto = TAuto + 1;
if (TAuto == 10)
{
R3 = 1;
if(p0 ==1)
{
StepN0 = 8;
TAuto = 0;
}
}
break;
case 8:
R3 = 0;
TAuto = TAuto + 1;
if (TAuto == 10)
{
StepN0 = 1;
}
break;
}
[ 此帖被vios1161在2016-11-26 15:39重新編輯 ]