在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → C#与基恩士扫码sr1000通讯实例

C#与基恩士扫码sr1000通讯实例

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:55.05M
  • 下载次数:20
  • 浏览次数:137
  • 发布时间:2021-05-04
  • 实例类别:C#语言基础
  • 发 布 人:349957018
  • 文件格式:.zip
  • 所需积分:5
 相关标签: 1000 100 000 00 扫码

实例介绍

【实例简介】基恩士扫码与C#通讯
【实例截图】

【核心代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Keyence.AutoID;

namespace SrLiveViewSample
{
    public partial class Form1 : Form
    {
        private readonly Dictionary<string, ReaderType> readerTable = new Dictionary<string, ReaderType>
        {
            {"SR-D100", ReaderType.SR_D100},
            {"SR-750", ReaderType.SR_750},
            {"SR-700", ReaderType.SR_700},
            {"SR-1000", ReaderType.SR_1000},
            {"SR-2000", ReaderType.SR_2000}
        };

        public Form1()
        {
            InitializeComponent();

            comboBoxReader.Items.Clear();
            foreach (var reader in readerTable)
            {
                comboBoxReader.Items.Add(reader.Key);
            }
            comboBoxReader.SelectedIndex = readerTable.Count - 1;

            //
            // Register handler for reading data received event
            //
            this.barcodeReaderControl1.OnDataReceived = barcodeReaderControl1_OnDataReceived;
            //
            // Set the interface to connect the reader
            //
            this.barcodeReaderControl1.Comm.Interface = Interface.Ethernet;
            //
            // Set the IP address of the reader to connect
            //
            this.barcodeReaderControl1.IpAddress = "192.168.100.100";
            //
            // Set the TCP port number of the reader to connect
            //
            // Comannd port number must be different from Data port number
            //
            this.barcodeReaderControl1.Ether.CommandPort = 9003;
            this.barcodeReaderControl1.Ether.DataPort = 9004;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                //
                // Connect to the Reader
                //
                this.barcodeReaderControl1.Connect();
                this.textBox1.Text = "Connected successfully";
                if (this.barcodeReaderControl1.Comm.Interface == Interface.USB)
                {
                    //
                    // Send "SKCLOSE" in order to occupy the data port connection
                    //
                    this.barcodeReaderControl1.SKCLOSE();
                }
                else
                {
                    //
                    // Make sure that command response character string is specified.
                    //
                    string val = this.barcodeReaderControl1.RP("610");
                    switch (this.barcodeReaderControl1.ReaderType)
                    {
                        case ReaderType.SR_2000:
                        case ReaderType.SR_1000:
                        case ReaderType.SR_700:
                            if (!val.Equals("1"))
                            {
                                this.textBox1.Text = "Set Baseic command response string to Detailed response.";
                            }
                            break;
                        case ReaderType.SR_D100:
                        case ReaderType.SR_750:
                            if (!val.Equals("0"))
                            {
                                this.textBox1.Text = "Disable the setting of Specify response character.";
                            }
                            break;
                        default:
                            break;
                    }
                }
            }
            catch (Exception ex)
            {
                this.textBox1.Text = ex.Message;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "";
            try
            {
                //
                // Send LON command
                //
                this.barcodeReaderControl1.LON();
            }
            catch (CommandException cex)
            {
                //
                // ExtErrCode shows the number of command error
                //
                this.textBox1.Text = "Command err," cex.ExtErrCode;
            }
            catch (Exception ex)
            {
                this.textBox1.Text = ex.Message;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "";
            try
            {
                //
                // Send LOFF command
                //
                this.barcodeReaderControl1.LOFF();
            }
            catch (Exception ex)
            {
                this.textBox1.Text = ex.Message;
            }
        }

        private void barcodeReaderControl1_OnDataReceived(object sender, OnDataReceivedEventArgs e)
        {
            //
            // Delegate display processing of the received data to the textBox
            //
            this.textBox2.Invoke(new updateTextBoxDelegate(updateTextBox), e.data);
        }

        //
        // Delegated function of the textBox
        //
        private delegate void updateTextBoxDelegate(byte[] data);
        private void updateTextBox(byte[] data)
        {
            //
            // Display the received data to the textBox 
            //
            this.textBox2.Text = Encoding.GetEncoding("Shift_JIS").GetString(data);

            //
            // Image file saving process
            //
            bool saveImage;
            if (this.textBox2.Text.StartsWith("ERROR"))
            {
                saveImage = radioButtonImageErrSave.Checked;

            }
            else
            {
                saveImage = radioButtonImageOkSave.Checked;
            }
            if (saveImage)
            {
                try
                {
                    //
                    // Get file path of saved file
                    //
                    string srcFile = this.barcodeReaderControl1.LSIMG();
                    string dstFile = srcFile.Split('\\')[2];
                    //
                    // Get image file
                    //
                    this.barcodeReaderControl1.GetFile(srcFile, dstFile);
                    MessageBox.Show(dstFile, "Image file");
                }
                catch (Exception ex)
                {
                    this.textBox1.Text = ex.Message;
                }
            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "";
            try
            {
                //
                // Start processing of LiveView
                //
                this.barcodeReaderControl1.StartLiveView();
            }
            catch (Exception ex)
            {
                this.textBox1.Text = ex.Message;
            }
        }

        private void radioButton5_CheckedChanged(object sender, EventArgs e)
        {
            if (this.radioButton5.Checked)
            {
                this.barcodeReaderControl1.StopLiveView();
                this.barcodeReaderControl1.Comm.Interface = Interface.USB;
            }
        }

        private void radioButton4_CheckedChanged(object sender, EventArgs e)
        {
            if (this.radioButton4.Checked)
            {
                this.barcodeReaderControl1.StopLiveView();
                this.barcodeReaderControl1.Comm.Interface = Interface.Ethernet;
            }
        }

        private void comboBoxReader_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.barcodeReaderControl1.StopLiveView();

            ReaderType readerType = readerTable[comboBoxReader.Text];

            //
            // Set the type of reader to connect
            //
            this.barcodeReaderControl1.ReaderType = readerType;

            groupBox3.Enabled = ((readerType != ReaderType.SR_D100) && (readerType != ReaderType.SR_750));
        }
    }
}





标签: 1000 100 000 00 扫码

实例下载地址

C#与基恩士扫码sr1000通讯实例

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警