tx198835
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 140 個(gè)
工控威望: 282 點(diǎn)
下載積分: 557 分
在線時(shí)間: 221(小時(shí))
注冊(cè)時(shí)間: 2010-06-26
最后登錄: 2024-12-23
查看tx198835的 主題 / 回貼
樓主  發(fā)表于: 2019-09-13 04:15
圖片:
有做過(guò)上位機(jī)的朋友嗎,請(qǐng)教SQL批量獲取M0 256點(diǎn)  D0 256點(diǎn),該如何做,關(guān)鍵是刷新時(shí)間問(wèn)題
下面我是剛寫的思路往各位大神指正:

    /// <summary>
        /// Act控件初始化
       /// </summary>
        public Form1()
        {
            InitializeComponent();
            axActUtlType1.ActLogicalStationNumber = 10;
            axActUtlType1.ActPassword = "";
        }

// 按鈕獲取值
    private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            short[] M_Memory = new short[16];
            axActUtlType1.Open();
            axActUtlType1.ReadDeviceBlock2("m0", 256, out M_Memory[0]);
            for (int i = 0; i < 256; i++)
            {

                if (Mitsubishi.Mitsubishi_M_Memory(M_Memory) == true)
                {
                    textBox1.AppendText("M" + i + "= 1  ");
                }
                else
                {
                    textBox1.AppendText("M" + i + "= 0  ");
                }
            }
        }



        /// <summary>
        /// mx compoment讀取的值轉(zhuǎn)換成
        /// </summary>
        /// <param name="M_Ararry">要轉(zhuǎn)換的byte數(shù)組</param>
        /// <returns>B00L數(shù)組</returns>
        public static bool[] Mitsubishi_M_Memory(short[] M_Memory)
        {          
            int a = 0;
            bool[] b = new bool[256];
            for (int j = 0; j < M_Memory.Length; j++)
            {
                for (int i = 0; i < 16; i++)
                {
                    if ((0x01 & M_Memory[j] >> i) == 1)
                    {
                        b[a] = true;
                        a++;
                    }
                    else
                    {
                        b[a] = false;
                        a++;
                    }
                }
            }
            return b;
        }
[ 此帖被tx198835在2019-09-13 04:23重新編輯 ]
天語(yǔ)愿
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 58 個(gè)
工控威望: 525 點(diǎn)
下載積分: 744 分
在線時(shí)間: 56(小時(shí))
注冊(cè)時(shí)間: 2016-02-22
最后登錄: 2024-09-10
查看天語(yǔ)愿的 主題 / 回貼
1樓  發(fā)表于: 2019-10-25 17:06
不停讀取刷新,建議添加計(jì)時(shí)控件
tx198835
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 140 個(gè)
工控威望: 282 點(diǎn)
下載積分: 557 分
在線時(shí)間: 221(小時(shí))
注冊(cè)時(shí)間: 2010-06-26
最后登錄: 2024-12-23
查看tx198835的 主題 / 回貼
2樓  發(fā)表于: 2019-10-27 21:33
這個(gè)值是測(cè)試版   關(guān)鍵刷新時(shí)間太長(zhǎng)了
xyzenter
活在當(dāng)下,順其自然
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 135 個(gè)
工控威望: 266 點(diǎn)
下載積分: 2080 分
在線時(shí)間: 108(小時(shí))
注冊(cè)時(shí)間: 2014-04-09
最后登錄: 2021-04-13
查看xyzenter的 主題 / 回貼
3樓  發(fā)表于: 2019-10-29 13:44
ReadDeviceBlock2()這條指令是毫秒級(jí)的,不存在響應(yīng)慢的問(wèn)題,如果刷新慢,請(qǐng)更換網(wǎng)線連接或者加快觸發(fā)此條指令的頻率。
還有Open()是需要時(shí)間的,
yiluzoulaia
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 20 個(gè)
工控威望: 116 點(diǎn)
下載積分: 486 分
在線時(shí)間: 164(小時(shí))
注冊(cè)時(shí)間: 2010-10-08
最后登錄: 2024-08-20
查看yiluzoulaia的 主題 / 回貼
4樓  發(fā)表于: 2021-10-15 13:48
三菱MC協(xié)議用C#實(shí)現(xiàn)的源碼,有需求可以聯(lián)系我15006163692  微信同號(hào)
吾志所向
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 368 個(gè)
工控威望: 648 點(diǎn)
下載積分: 1894 分
在線時(shí)間: 161(小時(shí))
注冊(cè)時(shí)間: 2016-12-10
最后登錄: 2024-12-09
查看吾志所向的 主題 / 回貼
5樓  發(fā)表于: 2021-10-18 09:29