哇咔咔
人生似海,命运如舟,机遇如波涛般起浮不定,在关键的时候,自己
级别: 家园常客
精华主题: 0
发帖数量: 381 个
工控威望: 914 点
下载积分: 23672 分
在线时间: 359(小时)
注册时间: 2020-04-26
最后登录: 2024-05-14
查看哇咔咔的 主题 / 回贴
楼主  发表于: 2020-12-29 10:37
visual stdio开发上位机和组态软件做上位机,各自有什么优缺点?我觉得触摸屏以及组态软件功能已经做的挺好了啊,写脚本也比较灵活。没有接触过visual stdio做上位机软件,用过的师傅来说说呗。
加减1生不息
自动化软件工程师
级别: 略有小成
精华主题: 0
发帖数量: 137 个
工控威望: 382 点
下载积分: 510 分
在线时间: 37(小时)
注册时间: 2018-11-02
最后登录: 2024-01-26
查看加减1生不息的 主题 / 回贴
1楼  发表于: 2021-01-12 14:23
不好意思,vs也很简单,我半年就能独立做项目了
本帖最近评分记录:
  • 下载积分:+1(flyfeky) 热心助人!
  • 自动化软件工程师
    加减1生不息
    自动化软件工程师
    级别: 略有小成
    精华主题: 0
    发帖数量: 137 个
    工控威望: 382 点
    下载积分: 510 分
    在线时间: 37(小时)
    注册时间: 2018-11-02
    最后登录: 2024-01-26
    查看加减1生不息的 主题 / 回贴
    2楼  发表于: 2021-01-12 16:12
    引用
    引用第8楼flyfeky于2021-01-12 15:13发表的  :



    你好。 我目前也在做此项目。  倍福的ADS通信  .  批量的读写数据(几千个变量),有什么思路吗   盼回。

    using System.Text;

    using System.Threading.Tasks;

    using System.Windows.Forms;

    using TwinCAT.Ads;//twincat安装目录中有

    using System.IO;

    namespace HmiAdsTest

    {

        public partial class MainForm : Form

        {

            public MainForm()

            {

                InitializeComponent();

            }

            public static TcAdsClient tcAdsClient;//建立通讯

            private int handle;

            private void button1_Click(object sender, EventArgs e)

            {

                tcAdsClient = new TcAdsClient();//实例化

                //tcAdsClient.Connect(851);//同一台机器上使用

                tcAdsClient.Connect("169.254.71.120.1.1", 851);//amsNetID  851是twincat3 端口号

                try

                {

                    //handle = tcAdsClient.CreateVariableHandle("IOs.ConnectSucceed");

                    handle = tcAdsClient.CreateVariableHandle("IOs.Dog");

                    MainForm.VariableAssignment.ConnectSucceed = (bool)(tcAdsClient.ReadAny(handle, typeof(bool)));

                    tcAdsClient.DeleteVariableHandle(handle);

                }

                catch

                {

                    MainForm.VariableAssignment.ConnectSucceed = false;

                    MessageBox.Show("未能连接网络");

                }

                if (MainForm.VariableAssignment.ConnectSucceed)

                {              

                    MessageBox.Show("成功连接网络");

                    button1.BackColor = Color.Green;

                }

                else { timerReadPeriod.Enabled = false; }          

            }

             

            public class VariableAssignment

            {

                public static bool ConnectSucceed;

                public static int AO_ProportionalValve2Dint;

            }

            private void numericUpDown1_ValueChanged(object sender, EventArgs e)

            {

                handle = tcAdsClient.CreateVariableHandle("IOs.AO_ProportionalValve2Dint");

                tcAdsClient.WriteAny(handle, (int)numericUpDown1.Value);

                tcAdsClient.DeleteVariableHandle(handle);

                

            }

    }

    }
    这个答案你满意吗
    本帖最近评分记录:
  • 下载积分:+1(flyfeky) 多谢,看不出是批量
  • 自动化软件工程师
    加减1生不息
    自动化软件工程师
    级别: 略有小成
    精华主题: 0
    发帖数量: 137 个
    工控威望: 382 点
    下载积分: 510 分
    在线时间: 37(小时)
    注册时间: 2018-11-02
    最后登录: 2024-01-26
    查看加减1生不息的 主题 / 回贴
    3楼  发表于: 2021-01-13 09:08
    11楼你有病吧,大道相通,你如果写过的你应该明白吧
    自动化软件工程师