vios1161
级别: 略有小成
精华主题: 0
发帖数量: 190 个
工控威望: 308 点
下载积分: 675 分
在线时间: 210(小时)
注册时间: 2016-07-30
最后登录: 2024-11-20
查看vios1161的 主题 / 回贴
楼主  发表于: 2016-11-26 01:07
今天教的直接用 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重新编辑 ]
source08
级别: 网络英雄
精华主题: 0
发帖数量: 542 个
工控威望: 6774 点
下载积分: 7974 分
在线时间: 211(小时)
注册时间: 2011-03-01
最后登录: 2024-12-23
查看source08的 主题 / 回贴
1楼  发表于: 2016-11-26 08:47
谢谢分享,学习了。
往事如风
科技改变制造
级别: 网络英雄

精华主题: 0
发帖数量: 11292 个
工控威望: 18670 点
下载积分: 12423 分
在线时间: 2699(小时)
注册时间: 2013-01-31
最后登录: 2024-12-23
查看往事如风的 主题 / 回贴
2楼  发表于: 2016-11-26 17:04
学习了,谢谢分享
三人行者必有我师 ,择其善者而从之
oyiwiw
级别: 略有小成
精华主题: 0
发帖数量: 113 个
工控威望: 267 点
下载积分: 555 分
在线时间: 81(小时)
注册时间: 2007-10-21
最后登录: 2024-06-03
查看oyiwiw的 主题 / 回贴
3楼  发表于: 2016-11-28 19:50
用C#写的吧,现在用三菱通讯的MX COMPENT软件很方便,里面有很多函数。
vios1161
级别: 略有小成
精华主题: 0
发帖数量: 190 个
工控威望: 308 点
下载积分: 675 分
在线时间: 210(小时)
注册时间: 2016-07-30
最后登录: 2024-11-20
查看vios1161的 主题 / 回贴
4楼  发表于: 2016-11-28 22:46
沒學過…不知道怎用
現在老師準備教 Labview ... 真的拉一拉就好,不用太花時間搞程式語法

引用
引用第3楼oyiwiw于2016-11-28 19:50发表的  :
用C#写的吧,现在用三菱通讯的MX COMPENT软件很方便,里面有很多函数。
lyntechme
虛心做人,踏实做事
级别: 家园常客
精华主题: 0
发帖数量: 563 个
工控威望: 709 点
下载积分: 12711 分
在线时间: 256(小时)
注册时间: 2012-03-31
最后登录: 2023-06-04
查看lyntechme的 主题 / 回贴
5楼  发表于: 2017-02-21 18:35
这个资料不错啊
 
碎心断剑
每天给自己一个微笑,快乐幸福少不了
级别: 家园常客
精华主题: 0
发帖数量: 173 个
工控威望: 947 点
下载积分: 676 分
在线时间: 69(小时)
注册时间: 2011-08-31
最后登录: 2024-12-01
查看碎心断剑的 主题 / 回贴
6楼  发表于: 2017-02-21 19:40
好东西谢谢楼主分享希望多多分享哦
每天给自己一个微笑,快乐幸福少不了!呵呵……
金蛇郎君czz
车到山前必有路 czz674613079@163.com
级别: 网络英雄
精华主题: 0
发帖数量: 1928 个
工控威望: 7499 点
下载积分: 504 分
在线时间: 439(小时)
注册时间: 2019-05-22
最后登录: 2024-12-22
查看金蛇郎君czz的 主题 / 回贴
7楼  发表于: 2022-11-28 18:12
学习了,谢谢分享
czz674613079@163.com