永发信息网

codesys编程如何实现转动

答案:2  悬赏:30  手机版
解决时间 2021-02-20 18:52
codesys编程如何实现转动,因为用的是顺序流程图编程(SFC),想实现先后按不同的圆心转动.但是转动圆心一旦指定,以后的步骤中就无法更改了.欲求高手帮忙解决!那圆心就拖动所画的图的中心的小黑点吧???
你能告诉我这段程序的功能吗?在codesys里好象没有c语言编程,这段语句能干啥用呢?不太会c
最佳答案
给你一段程序,我以前写的,我现在不这么用了,但你这么用可以实现的
# include
# include

int main(int argc,char *argv[])
{
HKEY hKey; //定义有关的hKey,在查询结束时要关闭。
LPCTSTR data_Set="Software\\Microsoft\\Windows NT\\CurrentVersion\\";

//
//打开与路径data_Set相关的子键(subkey)
//
long ret0=(RegOpenKeyEx(HKEY_LOCAL_MACHINE, //根键名称
data_Set, //要访问的键的位置
0, //必须为0,
KEY_ALL_ACCESS, //以所有方式访问注册表
&hKey)); //保存此函数所打开的键的句柄

//
//如果无法打开hKey,则终止程序的执行
//
if(ret0!=ERROR_SUCCESS)
{
printf("Can not open hKey\n");
return 0;
}

//
//查询有关的Value: RegisteredOwner(在注册表中代表用户姓名)
//
LPBYTE owner_Get=new BYTE[80];
DWORD dwType_1=REG_SZ;
DWORD dwData_1=80;

long ret1=RegQueryValueEx(hKey, //由RegOpenKeyEx()函数所打开的键的句柄
"RegisteredOwner", //要查询的键值名
NULL,
&dwType_1, //查询数据的类型
owner_Get, //保存所查询的数据
&dwData_1); //预设置的数据长度

if(ret1!=ERROR_SUCCESS)
{
printf("query owner_Get false\n");
return 0;
}
printf("user: %s\n",owner_Get);

//
//查询有关的Value: RegisteredOrganization(在注册表中代表公司名)
//
LPBYTE company_Get=new BYTE[80];
DWORD dwType_2=REG_SZ;
DWORD dwData_2=80;

long ret2=RegQueryValueEx(hKey,
"RegisteredOrganization",
NULL,
&dwType_2,
company_Get,
&dwData_2);

if(ret2!=ERROR_SUCCESS)
{
printf("query company_Get false\n");
return 0;
}
printf("company: %s\n",company_Get);


//
// 新建一个子键(subkey) test.注:可以不用先调用RegOpenKeyEx函数
//
HKEY hKeyInterface;
DWORD dwDisposition;

long ret3=RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\test",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
0,
&hKeyInterface,
&dwDisposition);

if(ret3!=ERROR_SUCCESS)
{
printf("create subkey key false\n");
return 0;
}

//
// 新建一个Value 名为:myapp(注:必须先调用RegOpenKeyEx函数)
//
BYTE lpData[4] = {1, 0, 0, 0};

long ret4 = RegSetValueEx(
hKey,
"myapp", // value name
0, // reserved
REG_BINARY, // value type
lpData, // value data
4 // size of value data
);

if(ret4!=ERROR_SUCCESS)
{
printf("create string key false\n");
return 0;
}

//
// 删除一个子键(subkey) test.注:可以不用先调用RegOpenKeyEx函数
//
long ret5 = RegDeleteKey(
HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\test"
);
if(ret5!=ERROR_SUCCESS)
{
printf("delete subkey false\n");
return 0;
}

//
// 删除一个Value,名为myapp(注:必须先调用RegOpenKeyEx函数)
//
long ret6 = RegDeleteValue(
hKey,
"myapp"
);

if(ret6!=ERROR_SUCCESS)
{
printf("delete value false\n");
return 0;
}

//
// 程序结束前要关闭已经打开的 hKey
//
RegCloseKey(hKey);

return 0;
}
全部回答
codesys其实和c语言都有点像,虽然是plc编程语言。普通的plc的输入输出点都是指定的,内部寄存器也是指定的,不管是数据寄存器和中间寄存器,都是指定的。但是codesys系统不是,每用一个变量,都需要定义,需要重新开始学习才行,先高清楚codesys的数据结构,比如说定义了一个light1这个变量,它也许是个function,也许是个函数,也许是个整形变量,也许是个字节变量,也许是个局域变量,也许是个全局变量,但是不管是那种变量,都是需要定义的,不定义系统是不知道你起的这个light1是什么的,它可不会翻译说这个是个灯,其实这个灯是个功能块,是可以实现一个功能的程序指令集。是可以直接被其他功能块和程序调用的。找点codesys的教材从最开始学吧,先明白codesys的数据是怎么定义的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
ipad air后置摄像头无法使用
雅丹地址有知道的么?有点事想过去
白雪婚纱公主馆在哪里啊,我有事要去这个地方
在列机械能守恒方程时,如果选好零势能面,然后
周朝哪位天子死时没有钱下葬向别的诸侯国求援
阳光车险电话是多少
闪亮的用英语怎么说
12门派第一名奖励啥东西?
美优可母婴生活馆我想知道这个在什么地方
探究“光对鼠妇生活的影响”时:(1)作出的
绿巨人到底拍了几步
湖北致诚担保有限公司地址有知道的么?有点事
水星无线路由器怎么防止别人蹭网
海门哪里买床物美价廉
爱派连锁地址有知道的么?有点事想过去
推荐资讯
凭祥镇南山村中心卫生室怎么去啊,有知道地址
男朋友前女友一直找他 我该怎么办
苏太太食品我想知道这个在什么地方
listen(现在分词) like(单三形式)
请问,求3个FS宏,前提都是打断施法,然后是;变
勐腊县有哪些快递
侠盗猎车手圣安地列斯老崩溃怎么办
巴西龟腹部烂背甲边缘翘起
五优便利遗安店在哪里啊,我有事要去这个地方
小掌柜放心粮油地址有知道的么?有点事想过去
护仓胡同/棉花胡同(路口)在哪里啊,我有事要
黑马过林是不是龙四的绝招
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?