打印

有没有用贝加莱PCC的兄弟,而且用C的。

[复制链接]
3835|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
headwolf_83|  楼主 | 2010-9-2 23:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
headwolf_83|  楼主 | 2010-9-2 23:17 | 只看该作者
我现在对他的IDE,C语言编译器,实在已经很无语了。暂时不想用BASIC。

使用特权

评论回复
板凳
headwolf_83|  楼主 | 2010-9-5 22:40 | 只看该作者
PCC的编程风格,不象PLC,也不象下位机的C语言编程,反而更有点上位机编程的味道。如果只会梯形图开发(或者是汇编),不建议开发PCC。
这几天先是摔了不少跟头,又打了一些电话,总结出一些书本上和宣传材料上不直接写明的东西,供同样接触的工程师参考:
1、中断系统不直接开放。可以通过由CPU定时器触发的高速任务(HSTK),实质上为定时器中断函数,完成一部分任务。
2、似乎可以配合扩展模块+TPU功能+异常任务,我想这点实质上应该就是类似MCU的INT中断任务,还没编程测试,不过看说明应该可以。但是即使有了1,2点,也不要设想象MCU那样有丰富的AD中断等等可等效利用的东西。
3、和硬件紧密相关的操作,TPU能解决的,就用TPU解决,千万别自己搞。所谓TPU,是PCC的CPU模块内部集合的硬件单元,用于处理时间相关的操作。通俗点说,比如CCP的输入捕捉,利用定时器信号进行门控测量,以及定点触发脉冲输出,某些如IP161模块还可以定点触发AD,都通过TPU功能块(看上去和库函数类似),来实现。
4、多功能的扩展模块,比如DI135,DO135,千万别考虑自己操作寄存器,刚开始我们编译通过,下载就是出错。后面厂家的FAE说是要用IO_LIB操作,看了半天也是一头雾水,还是TPU操作更简单。至于简单的一些IO输入输出模块,直接在PVI视图中定义变量,并在C文件中声明,并直接操作即可。
5、对于用BASIC开发的兄弟,TPU操作不是很困难的事情,XXX  FUB  YYY(),就差不多了,具体的HELP里面都有。对于C语言开发的弟兄,需要注意的是,在TPU视图中添加某个FBK后,IDE会自动生成相应的.h和.a(库文件)文件,这些文件是动态生成的,并不在系统安装目录下,在项目路径下,把相关文件添加到软件项目树中,并在C文件中做好声明,就和其它的库一样用了。需要注意的是,搞清楚你的CPU模块是M68K还是I386又或者是以后的其它类型,找库文件不要找错文件夹。
6、贝加莱的IDE风格是典型的老外作风,HELP里面把东西写得很详细,但是扣掉HELP,坦率说,公司同事一致认为公开可查到的文档不全(不考虑其培训能得到什么资料),尤其是编程使用方面,自己摸索,不靠厂家的FAE,几乎是不可能,尤其是用C。
7、不同的CPU模块,TPU的时钟是不一样的,HELP中可以查到。比如CP474模块是16M,默认的TPU分频是4,IDE中可以设置其它分频。
8、目前也就齐蓉教授的书有介绍贝加莱的PCC,但对如何用C语言调用TPU居然没有任何描述,实在让我们初次接触的人非常崩溃。而且书上为了全面,无论是BASIC还是C编程都无法详细描述,不能不说是遗憾。希望贝加莱能自己出本给PCC编程人员看的C语言开发参考手册。而不要逼迫我们在HELP中找来找去。
9、2.7以下版本,C语言注释不支持//,3.0以上版本可以了。

希望这些对于用贝加莱PCC的兄弟有所帮助。这些都是基础的IDE如何操作的内容,为了这些简单的东西,折腾了我们近2周,实在很郁闷。写出来给有需要的工程师看看。

使用特权

评论回复
地板
xzy568| | 2010-9-11 11:21 | 只看该作者
楼主是做什么设备啊,有那么复杂的数学模型吗?一般都是用梯形图的,C写一下表达式就好了
据我所知B&R主攻印刷包装行业的,这些行业没有太复杂的数学模型吧

使用特权

评论回复
5
headwolf_83|  楼主 | 2010-10-1 14:27 | 只看该作者
PCC可以用来做很多东西,不一定要要做包装行业。我做的是没有很复杂的数学模型,但是他的东西很难用,没有官方FAE的支持,自己根本用不起来。而且目前唯一的中文教材,很多东西都没讲,TPU,IO库操作,旋入模块访问,搞到我们非常折腾。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:PIC24F/24H/32/18/16/dsPIC33/30实验板,核心模块,配套调试烧写工具。

13

主题

902

帖子

0

粉丝