| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 433 人关注过本帖
标题:新手求助:我不会做输出!请教大家^_^.
只看楼主 加入收藏
qbf314403
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-17
收藏
 问题点数:0 回复次数:0 
新手求助:我不会做输出!请教大家^_^.

各位同仁、各位高手:
我的系统用AC6410(AC6410有32路,16输入16输出)的32路端口的 10 29 11 30 四个输出(电源地线09

除外)它们对应的16路输出输出端口名是 PO0 PO1 PO2 PO3

工作时:让P01置位『给01置位,分高位和地位(高位是输出1,地位是输出0),高低位对应的是正方转』,然后

给P00脉冲 『给00脉冲 脉冲频率是固定的 是控制器内部SP的频率』同理 P03置位然后给P02脉冲,P01和P03

一个是水平脉冲,一个是垂直脉冲


比如说工程中有个“上下左右”的控制对话框
点击“左”的时候,系统做两件事:※ PO1置高位 ※ P00输出脉冲(脉冲多少由象素量决定)
我的原理是通过图像处理得到要输出的象素量
象素量的正负对应PO1的高位或者地位,大小对应给脉冲的多少。

AC6410出来通过共阴极转共阳极电路板后接的“福建漳州维德焊接设备有限公司”的步进电机控制箱(见附件)
以下是我编程的内容,但是程序运行的时候步进电机并没有转,只有“咔”的一声
void CCrossDlg::OnLeftmove()
{
CString string;
GetDlgItemText(IDC_EDIT_LEFT,string);
int iPos=atoi(string.GetBuffer(0));
::AC_6410_DO(::NTportio,::idd[0],0xfffe);

}

void CCrossDlg::OnRightmove()
{
CString string;
GetDlgItemText(IDC_EDIT_RIGHT,string);
int iPos=atoi(string.GetBuffer(0));
::AC_6410_DO(NTportio,idd[0],0xfffe);

}

void CCrossDlg::OnUpmove()
{
CString string;
GetDlgItemText(IDC_EDIT_UP,string);
int iPos=atoi(string.GetBuffer(0));
::AC_6410_DO(NTportio,idd[0],0xfffe);

}

void CCrossDlg::OnDownmove()
{
CString string;
GetDlgItemText(IDC_EDIT_DOWN,string);
int iPos=atoi(string.GetBuffer(0));
::AC_6410_DO(NTportio,idd[0],0xfffe);

}

请问一下,我的问题出在哪里,该如何改进呢? 万分感谢!
本人QQ 58556289 天天看论坛等你救我啊!

cfs80AmT.rar (314.7 KB) 新手求助:我不会做输出!请教大家^_^.


搜索更多相关主题的帖子: 输出 
2007-08-17 07:43
快速回复:新手求助:我不会做输出!请教大家^_^.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018440 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved