精华内容
下载资源
问答
  • 西门子SIMTOTION同步运行功能介绍pdf,西门子SIMTOTION同步运行功能介绍:本文介绍了SIMOTION同步功能的相关信息
  • c#多线程实现函数同步运行

    千次阅读 2013-10-17 11:12:45
     方法比较笨,以后加深... 我们假设有方法run1()和run2(),耗时都比较大,实现他们同步运行将大大提高程序的效率,在这里考虑使用多线程的方法。  首先添加引用,定义bool型i,j为false。 using System.Threading;

    (转载请注明出处:http://blog.csdn.net/buptgshengod

          方法比较笨,以后加深了解再改进吧。

          我们假设有方法run1()和run2(),耗时都比较大,实现他们同步运行将大大提高程序的效率,在这里考虑使用多线程的方法。

    首先添加引用,定义bool型i,j为false。

    using System.Threading;


    在函数入口,比如说start中。


    void start()
    {
    //实例化要开启的新类,  线程thread1执行方法run1
         Thread thread1 = new Thread(run1);
         //实例化要开启的新类,  线程thread2执行方法run2
         Thread thread2 = new Thread(run2);
        while (true)//判断run1和run2是否执行完成
                 {
                    if (i == true && j == true)
                    {
                       break;
                    }
                    else
                    {
                      Thread.Sleep(10); //如果方法执行较慢的话,可以加上
                    }
                 }
    }
    

     在外面定义run1以及run2的方法

    public void run1()
            {
                //do someting
                i = true;
            }
    public void run2()
            {
                //do someting
                j = true;
            }
    
    
    
    
    




    展开全文
  • pycharm 远程同步文件与远程运行

    千次阅读 2020-06-10 16:21:11
    当你厌倦了xftp传文件然后xshell运行服务器上的文件,我觉得可以试试专业版pycharm的远程调试和文件同步功能,主要是两部分,文件同步的 deployment 和远程运行的 ssh interpreter。 准备 首先你需要在本地创建一个...

    前言

    当你厌倦了xftp传文件然后xshell运行服务器上的文件,我觉得可以试试专业版pycharm的远程调试和文件同步功能,主要是两部分,文件同步的 deployment 和远程运行的 ssh interpreter。

    准备

    首先你需要在本地创建一个与服务器上项目同名的文件夹,这是你的本地版本,你可以在这修改完,通过deployment上传后再运行即可,否则运行的还是服务器上的版本。

    配置deployment

    将文件夹当做pycharm项目打开,点击 tools->deployment->configuration
    在这里插入图片描述
    添加一个sftp协议的连接
    在这里插入图片描述
    随便给连接设置一个名字,ok
    在这里插入图片描述
    然后设置服务器相关的信息,web server url不用管,root path是根目录,这里可以设置为用户根目录,不过注意,设置根目录后,后面的路径设置是在根目录基础上设置的。
    在这里插入图片描述
    然后点击 mappings,设置文件路径的映射。这里webpath不用管,deployment path是在上面的root path基础上设置的,比如你有个文件在/home/hhh/code,你root path设置为 /home/hhh,deployment path就是/code。不过这都是自动的,一般不会有问题。
    在这里插入图片描述
    ok之后,可以右键文件夹,选择deployment->download from,再点击你刚才命名的deployment,即可下载服务器上对应文件夹下的所有文件到本地。
    在这里插入图片描述

    远程运行

    点击file->settings,设置远程服务器上的解释器,如果有了就直接选,如果没有就新加一个,点击小齿轮add,
    在这里插入图片描述
    ssh就不再赘述了,设置解释器时,如果是anaconda的,在anaconda->envs->环境名->bin->python,选中即可,给它sudo权限,不然后期会有报错。
    sync folders也要调整,跟之前deployment的对应,不然就跑到默认路径那了。
    在这里插入图片描述
    finish之后应该会出来环境下面的包,ok即可
    在这里插入图片描述
    然后运行如果报错:

    sudo+ssh://xxx@xxx/anaconda3/envs/py36/bin/python -u "xxx/code/main.py"
    bash: line 0: cd: xxx/code: No such file or directory
    SudoPasswordPrompt655neudrfcn7scuc
    

    首先检查解释器的path mappings,即上图中的内容是否改变;若没问题建议重启pycharm,如果还是不行,可以删掉一些ssh interpreter,然后重新设置即可,我是本来两个,然后删掉这个后,还剩一个,设置了path mappings之后就行了,具体什么原因我也不清楚,只知道是path mappings的问题。

    展开全文
  • //<pre name="code" class="cpp">//这是2个线程模拟卖火车票的小程序 #include <windows.h> #include <iostream&...//thread data...

    //<pre name="code" class="cpp">//这是2个线程模拟卖火车票的小程序

    #include <windows.h>

    #include <iostream>

     

    using namespace std;

     

     

    DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread data

    DWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread data

     

    int index=0;

    int tickets=10;

    HANDLE hMutex;

    int main()

    {

        HANDLE hThread1;

        HANDLE hThread2;

        HANDLE m_hMutex;

        //创建线程

     

        hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);

        hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,NULL);

        CloseHandle(hThread1);

        CloseHandle(hThread2);

     

        //创建互斥对象

        hMutex=CreateMutex(NULL,TRUE,"tickets");

        if (hMutex)

        {

            if (ERROR_ALREADY_EXISTS==GetLastError())//得到错误:已经存在

            {

                CloseHandle(m_hMutex);

                m_hMutex = NULL;

                cout<<"only one instance can run!"<<endl;

                return 0;

            }

        }

        WaitForSingleObject(hMutex,INFINITE);

        ReleaseMutex(hMutex);//申请了两次就要施放两次(没搞懂在哪里申请了两次?难道建立一次,wait也算一次?)

        ReleaseMutex(hMutex);//谁申请谁施放

     

        Sleep(4000);//让主线程睡4秒,让其他线程有时间执行完他们的代码,如果不睡就会出现其他线程执行不完或出错的情况,但时如果不知道线程需要多少时间执行,那应该写多少时间?

    }

    //线程1的入口函数

    DWORD WINAPI Fun1Proc(LPVOID lpParameter)//thread data

    {

        while (true)//无限循环线程

        {

            WaitForSingleObject(hMutex,INFINITE);//得到互斥体才能执行

            if (tickets>0)

            {

                Sleep(1);

                cout<<"thread1 sell ticket :"<<tickets--<<endl;

            }

            else

                break;

            ReleaseMutex(hMutex);//施放互斥体

        }

     

        return 0;

    }

    //线程2的入口函数

    DWORD WINAPI Fun2Proc(LPVOID lpParameter)//thread data

    {

        while (true)

        {

            WaitForSingleObject(hMutex,INFINITE);

            if (tickets>0)

            {

                Sleep(1);

                cout<<"thread2 sell ticket :"<<tickets--<<endl;

            }

            else

                break;

            ReleaseMutex(hMutex);

        }

     

        return 0;

    }

     

    食用须知:从网上找的代码,有错,已调试成功。

    https://me.csdn.net/mnhdxhcky

    展开全文
  • 无刷直流/永磁同步电机的运行原理 无刷直流与永磁同步的异同 永磁同步电机的控制技术 1.电机的分类及日常生活中的电机类型   如图中所示,电动机的种类,可以首先按照交直流类型来区别...

    1.0电机的分类及永磁同步电机的控制技术介绍

    • 基础的电磁感应产生力的作用,这类似的初中物理知识不再讨论;
    • 与直流无刷及永磁同步电机知识太发散的就不再讨论;

    本文介绍的几点内容

    1. 电机的分类及日常生活中的电机类型
    2. 无刷直流/永磁同步电机的运行原理
    3. 无刷直流与永磁同步的异同
    4. 永磁同步电机的控制技术

    1.电机的分类及日常生活中的电机类型

    电机种类
      如图中所示,电动机的种类,可以首先按照交直流类型来区别。
      直流电动机在日常生活中遇到的非常多,用电池或5V电源作为能量的几乎都是,电动玩具、剃须刀、小风扇。这类电机的分类在换向式的细分类别中。控制手段也非常简单,两极上通电就能转,电压给的越大转的越快,两根电极线对调就能反转。如果曾经拆开过玩具四驱车里面的直流有刷电机就会记得,里面有个II型的两极电刷,转子的电流换向就是靠电刷来完成。这类电机,也会发现里面有磁铁存在,磁极是固定不动的,作为定子。其他细分支的单极式电机、换向电励磁式电机,生活中不太常见,不作介绍了。
      交流电动机分为两类,同步电动机和异步电动机。
      异步电动机在普通日常生活中见的相对较少,都相对较为大型。单相的异步电动机,在农村家里的各类加工机器、普通的小型工厂里的加工机器上会见的比较多;使用的电源就是普通的市电220V就行,一零一火线就可以工作运行。单相异步电机的更细分类型,差别就不是那么大了,这类电机上常常会有两个非常大的电容:启动电容、工作电容。如果这两个电容坏了,启动或工作的时候就会异常。
      多相异步电动机,在起重机械、大型加工机械上会见的非常多;多相异步电机的体积在这所有电机分类中都相对较大,功率也都不低。使用这类电机大都配有相应的变频器。其供电时会接入三相电。三相电在工业中常用,但日常生活不常见。
      最后介绍交流电动机的同步电动机。这类电机的细分种类在日常生活中会多少有些影子。同步电动机主要分为四类,无刷直流、永磁同步、步进电机、磁滞电机、磁阻电机。无刷直流电机,一提到,都见过;日常使用的电动自行车、电摩的后轮,就是一种直流无刷同步电动机。这种电机还有一种称呼叫轮毂电机,就是指长在车轮的轮毂上的电机。步进电机的应用非常广泛,主要是因为其控制的步进精度,使得可以用在高精度的场合。激光切割,3D打印中都用的蛮多的。
      还有一种分支的电机类型,永磁同步电机。这种电机,当前,有一个非常火的应用,昂贵的那款吹风机就是永磁同步电机的。永磁同步电机结合优良的控制方法,可使得电机的转速精确可控,噪声非常低,给人静音静躁并且高效的感觉。
      同步电机大多是永磁式的。其他励磁类型的也有,但不常见了。

    2.无刷直流/永磁同步电机的运行原理

      这里一起阐述无刷直流和永磁同步运行原理的原因是因为这两类的区别着实不大,后文会详细对比异同的。
      直流有刷电机,定子是永磁体,转子是绕线线圈;磁性有两极,同斥异吸。所以,在转子线圈中通上直流电,则能让转子转动,直到与定子力矩最小的位置;这时由于电刷换向,本来力矩最小的位置又成了力矩最大;最后,周而复始,转子不断旋转。
      无刷直流,那就确实没有电刷;同时,直流有刷电机中定子为永磁体,转子为绕线的结构,在直流无刷中变成了定子为绕组,转子为永磁体。如果绕组依然在转子上面,那还得靠物理接触给绕组通电,没有解决掉电刷老化的问题。直流无刷电机中,绕组在定子中存在,有三根相线;工作的时候,相继的给三根相线输入输出电流,变达到了换向的目的。直流无刷中,转子定子由于电磁生力的作用与直流有刷是相同的。
      无刷直流电机,具体是定子在内部还是在外部,不一定。转子在外,定子在内的,一般称为外转子电机。轮毂电机就是很特殊的外转子电机。
      直流无刷电机,为什么在大分类下却又是交流电机?
      是因为,我们在给无刷直流、永磁同步电动机的控制器供电的时候,供给的是直流电源,所以称呼为了无刷直流;但是,直流电源经由电机控制器,逆变之后,在与电机相连的三根相线上,电源类型变成了交流,交流变化的相电压才能使电机三根相线上的电流不停换向,所以电机的分类是交流电动机。

    3. 无刷直流与永磁同步的异同


    • 无刷直流电机,英文BLDC,英文全称Brushless Direct Current Motor
    • 永磁同步电机,英文PMSM, 英文全称 Permanent Magnet Synchronous Motor

    这两种电机类型要作以区别,最根本的原因是因为气隙磁场的设计就不同。所以产生了以下的不同

    1. 反电势波形不同:
      BLDC :近似梯形波(理想状态);
      PMSM :正弦波(理想状态);
    2. 三相电流波形不同:
      BLDC :近似方波或梯形波(理想状态);
      PMSM :正弦波(理想状态);
    3. 控制系统的区别:
      BLDC:通常包括位置控制器、速度控制器和电流(转矩)控制器;
      PMSM:不同控制策略的会有不同的控制系统;
    4. 控制不同:
      BLDC:120度方波电流,采用PWM控制;
      PMSM:正玄波电流,采用SPWM SVPWM控制。

      但是,在实际的控制中,直流无刷也会用FOC控制,永磁同步电机也能用方波进行控制。
      就像电动车的控制器,我拆来研究过三四个,接口都是一样的,控制芯片不一样,当然控制算法也不一样。用正弦波控制的电动车,启动、运行声音都很低,运行过程中没有抖动;但是方波控制的电动车,声音会非常明显,运行时的抖动也能感知得到。抖动是因为明确的转矩脉动。
      方波控制的电机,电源使用效率较高,因为正弦波控制的电机,在有效电压上就会被打折一点。

    4. 永磁同步电机的控制技术

    永磁同步电机,直流无刷电机可以用同样的控制手段来使之运行。

    • 根据有无位置传感器来区别,首先分为有感无感。也就是有无使用霍尔等类似的位置传感器来感知定子转子的位置角度。在风泵类的应用中,很多使用无感方式控制,通孔优良的算法是电机运转起来后,检测感知相电流的变化来切换相电流。一些重载或精确控制的应用中,都会使用有感方式。
    • 根据逆变的三相电源,可以分为方波控制和正弦波控制。方波控制策略简单,控制过程直接有效,采用六步换向策略,CPU调制 出PWM来驱动功率开关管就可是生成能使电机运转的三相电源。正弦波的控制策略相对复杂得多,但是在控制效果上又优良的多。
    • 正弦波控制时,主要有两种控制策略。
      一种是,直接转矩控制DTC百度百科。其作法是依量测到的马达电压及电流,去计算马达磁通和转矩的估测值,而在控制转矩后,也可以控制马达的速度,直接转矩控制是欧洲ABB公司的专利。
      第二种是,空间矢量控制FOC百度百科。其实质是将交流电动机等效为直流电动机,分别对速度,磁场两个分量进行独立控制;通过控制转子磁链,然后分解定子电流而获得转矩和磁场两个分量,经坐标变换,实现正交或解耦控制。
    • 正弦波控制时,会有很多衍生的更精细的控制策略,比如前馈控制、最大转矩控制、弱磁控制等。
    • 在对电机的控制过程中,会有多个反馈控制环。在控制电机的出力情况时,有电流环;再此基础上,控制转速的控制环;伺服电机应用时,便有位置环的控制。

    ST的开源方案–空间矢量控制,驱动永磁同步电机的学习及分享计划CSDN链接

    展开全文
  • 回想我自己第一次开发多线程程序的时候,工程项目文件都建立好了,才打开《MFC windows程序设计》,正襟危坐的翻到...最后用了一大堆全局变量,才得以平稳的运行。从来不用全局变量的我,用了那么多全局变量,心里很难
  • 在PowerShell中有时候当我们运行一个命令的时候,在控制台上都会直接输出他结果信息,当我们想要把输出信息保存到一个文件的时候我们一般都会直接用管道传递给另一个输出命令将信息保存进一个文本文件里。
  • EtherCAT 同步模式

    千次阅读 2018-12-27 13:57:53
    EtherCAT三种同步方式自由运行模式 (Free Run:非同步运行)自由运行模式通过应用程序控制器的本地计时器中断启动。本地周期从通信周期或主站周期独立出来单独运行。 SM2事件同步模式(Synchronous with SM2 Event)由于...
  • 1 永磁同步电机MTPA的控制原理 1.1 MTPA控制方式与id=0控制方式的区别 当电机采用id=0的控制策略,但是这种控制方法忽略和磁阻转矩的作用 。 这个从转矩方程最容易看出来,转矩分为永磁转矩Tr和磁阻转矩Tm,而id...
  • Promise()同步执行

    千次阅读 2019-09-12 15:36:26
    <title>Promise()对象同步执行方法 let taskSync = (resolve,reject)=>{ console.log("这个是taskSync"); resolve() } let p1 = new Promise(taskSync); p1.then(()=>{ console.log("then-1") }) ...
  • 多线程之间如何实现同步

    千次阅读 2019-07-01 11:56:53
    必须是多个线程使用同一个锁 必须保证同步中只能有一个线程在运行 好处:解决了多线程的安全问题 弊端:多个线程需要判断锁,较为消耗资源、抢锁的资源。 原理:有一个线程已经拿到了锁,其他线程已经有了cpu执行权...
  • 1 弱磁扩速理论 PMSM弱磁的思想来源于他励直流电动机的调磁... 永磁同步电机的励磁磁通是由永磁体提供的,这个磁通是恒定不变的。这个时候如果我们想降低磁通强度,就只能通过增大定子电流的去磁分量来削弱气隙...
  • 简介 名称 特点 电机的分类 PMSM的机械组成 本书目的 三相PMSM的数学建模 三相PMSM的基本数学模型 PMSM转子结构分类 PMSM模型假设 PMSM的基本数学模型4个方程自然坐标系下 ...同步旋转坐标系dq下的P
  • const promise = new Promise((resolve: Function, reject: Function) => { if (this.fileInfo !== undefined) { const reader: FileReader = new FileReader();...用Promise实现同步效果。
  • axios如何执行同步----async

    万次阅读 2019-10-31 01:13:59
    axios执行同步 **axios:**是一种异步请求的方式 ,通过回调函数的方式在请求中做的更多的是可控的功能, 简单介绍一下axios,有疑问的可以看我的博客里边有axios的详细介绍,以及一些个应用场景!!! axios从入门到...
  • 什么是线程同步和线程异步?

    千次阅读 2019-05-31 13:41:39
    1、什么是线程同步和线程异步 线程同步:是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率不高 线程异步:访问资源时,如果有空闲时间,则可在空闲等待同时访问其他资源,实现多线程机制 异步处理...
  • 原文:...Node.js 工具链中的典型任务运行器有 Grunt ,以及后起之秀 Gulp ,现在它们都有着广泛的社区支持,都有大量的插件支持。Grunt 以其先入为主的
  • 1:此为永磁同步控制系列文章之一,应大家的要求,关于永磁同步矢量控制的系列文章已经在主页置顶,大家可以直接去主页里面查阅,希望能给大家带来帮助,谢谢。 2:矢量控制的六篇文章后。弱磁、MTPA、位置控制系列...
  • 使用unity3d的unet制作一个局域网的局域网射击游戏,怎么去同步动画??
  • c++实现多线程同步

    千次阅读 2018-05-23 16:01:27
    线程同步是指同一进程中的多个线程互相协调工作从而达到一致性。之所以需要线程同步,是因为多个线程同时对一个数据对象进行修改操作时,可能会对数据造成破坏,下面是多个线程同时修改同一数据造成破坏的例子: 1 #...
  • 客户端与服务器的数据同步问题

    千次阅读 2018-05-13 17:59:54
    客户端离线后又上线时,与服务器的数据同步问题可借鉴svn的版本管理思想,客户端提交到服务器的每次数据变更都自动递增1,同时把变更日志加到数据库客户端上线后提交本地svnClientVersion到server,server缓存client....
  • 2.使用批处理文件如果不想自动关闭(默认是执行完了过后自动关闭)则需要在末尾添加一个pause命令,而且还需要加上连接符号,不然不会同步执行,&& 表示会等前面执行完了才执行 例子: cd /d D:\work\test\node ...
  • Matlab/Simulink电力系统——同步发电机突然三相短路暂态过程 使用软件版本为matlab2016b,总模型simulink仿真如图 同步发电机参数: 变压器采用▲-Yg接线,参数如图: 负荷参数: 用powergui中的machine ...
  • Python进阶-Matplotlib绘图

    千人学习 2018-12-18 13:43:55
    Matplotlib是python中非常常用的绘图工具包,可用于查看显示数据分析的结果,查看程序运行流程等等。本课程会讲解到matplotlib中最常用的一些知识点,包括绘制基本图形,散点图,直方图,等高线图,3D图,动态图等等...
  • C语言如何在线程间实现同步和互斥

    万次阅读 2015-03-27 22:44:45
    线程之间的同步和互斥解决的问题是线程对共同资源进行访问。Posix有两种方式: 信号量和互斥锁;信号量适用同时可用的资源为多个的情况;互斥锁适用于线程可用的资源只有一个的情况 1、互斥锁:互斥锁是用加锁的...
  • 方法执行很慢的时候整个UI会卡住,同步的方法运行不过去,后面的方法就走不了,所以呢,代码的耗时就会非常长,这是同步的缺点。 异步的好处呢? 代码会立刻走完,然后获取到缓存以后,由框架再去调用success,...
  • 然后测试环境和生产要用公司的平台,看日志运行成功了,但就是同步不到数据。 于是就一直看数据源配置、sql查询、插入时按多个字段更新等,各种改脚本,然后部署测试,弄了很久,都不行; 去洗了把脸,做好了...
  • Python进阶(二十六)-多线程实现同步的四种方式  临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能,因为不能多个线程同时操作,而访问这部分资源的代码...
  • try-catch运行机制(同步

    千次阅读 2018-10-12 14:43:43
    1.分析: try{ //抛出异常,或错误 } catch{ //这里用于捕获,并处理异常。 } 2.实例: try{ console.log("s"); throw 'errow'; }catch(e){ ...运行结果为: s errow ...
  • 同步状态下,相当于定子产生磁场,转子切割磁场产生产生电流通过转子绕组传向电网。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,087,779
精华内容 435,111
关键字:

同步运行