在三菱PLC中,主程序和子程序可以在同一个文件中,也可以在不同的文件中。
如果主程序和子程序在同一个文件中,通常会将主程序放在文件的前面,然后在主程序中调用子程序。这种方式比较常见,可以方便地管理程序的结构和逻辑。在这种情况下,通常会在主程序的开头设置一些参数和变量,然后在调用子程序时将这些参数和变量传递给子程序。子程序可以使用这些参数和变量来完成特定的功能,然后将结果返回给主程序。
另外,如果主程序和子程序在不同的文件中,可以通过调用指令来实现程序之间的调用。在主程序中使用CALL指令调用子程序,子程序执行完后使用RET指令返回到主程序。这种方式可以将程序分成多个文件,方便管理和维护。
一个程序打开另外一个程序=可以
主程序显示子程序=可以(XXXshow)
主程序生成子程序=
难道你要做一个VB开发工具
否则生成(编译)这种功能很难实现!
如果你能弄到"VB60程序"的源代码希望分享下
-
-|||
PS如果你只是想让主程序"释放"另一个程序的话可以使用:外接程序-外接程序管理器中的"VB6
资源管理器",吧一个exe文件添加进资源管理器中,然后用Binary
As
#1输出
具我所知好像不可以。因为目前大多系统都只认一个程序。如果出现字母O同时非调用程序,会报警。如果你实在想放在一起,可以采用调用程序段的办法。比如把子程序变成程序段,用跳跃指令来实现程序执行
2)Fortran77、6个空格的是fixed格式,不是Free格式。
强烈推荐你使用fortran90 free格式,并行效率更高。fortran77 fixed格式已是old-fashion。你可以在这方面做些功课。
每行限度为72列,一般都不够用的,不过在编译时加上,-extend-source选项就可以把72列的限制扩展到132列,你查查看。非并行的程序使用使用普通的编译器如ifort、gfortran等,不过既然是使用OMP,编译时就应该用mpiifort。
程序中声明private变量时,应该是用到时再声明,一般不会太长吧。
!$OMP PARALLEL DO PRIVATE (K,J,I)
DO K = 1,KM
DO J = 1,JMT
DO I = 1,IMT
variables (I,J,K)= 00
END DO
END DO
END DO
3)linux下,你这是一个主程序调用多个F90程序,推荐你使用make编译、链接,这里是一个例子,比如你有mainF90 其中使用MOD模块mymod,并调用了test1F90和 test2F90,那么你的make文件(Makefile)可以这样写:
INCLDIR = -I -I/usr/include -I/your/mpi/include
CPPFLAGS = -P -traditional
CPP = /usr/bin/cpp $(CPPFLAGS) $(INCLDIR)
NLIB = -L/your/mpi/bin64
###your mpi compile options
FFLAGS = -O2 -no-vec -r8 -i4 -convert big_endian -assume byterecl -save
FC = /your/mpi/bin64/mpiifort $(FFLAGS)
OBJS = mymodo test1o test2o maino
##########################################################################
###the executive file---runexe will be created
runexe: $(OBJS)
$(FC) -o /runexe $(OBJS) $(NLIB)
SUFFIXES : F90
F90o:
$(CPP) $< > $f90 ; $(FC) -c $f90
clean:
rm -f o il f90 f mod d runexe
依次执行
$ make clean
$ make
即可编译成可执行文件runexe,运行之即可。
1、应该分开写,一个在头文件,一个在c文件。如果分要一起,可以用c,但是一定要使用包含include
2、#define uint unsigned int
#define uchar unsigned char
都是宏定义,使用unsighde int替换uint
使用unsigned char 替换uchar。写的不正规,建议采用大写来定义宏。例如:UINT UCHAR
3、中断子程序的内部方法一样,但是调用是由系统做的,所以,你要有开中断语句。或者你自己轮询检测中断标志位也可以。至于开中断语句要具体看你是什么中断。
4、第一个出错原因是中断函数不可以放在头文件中,头文件的内容是在连接的时候一起并入程序的。第二个错误,你可能单词拼写错误,yue这个词。你可以用ctrl+F进行查找。
5、应该注意,不要重复包含。头文件要右#ifndef #define #endif
并入函数尽量只写函数声明,在c里面写函数体。
在c语言里是可以改成c的,但是采用,一个头文件一个定义文件比较好。
意思就是:多余部分,忽视覆盖过程
大哥,你这么折腾,我们都要废了。不能超过20的原因可能是你的FIFO转存器的大小就这么大。超过就溢出了呗
FIFO就是转存器,其实就是存储器,用来缓冲数据的。如果不是溢出问题,那就真不可能了。
不知道楼主对编译过程了解多少?
你的程序可能是源代码,Fortran的以前没有写过,熟悉的是C/C++的源代码,运行之前,要通过编译链接成可以执行的2进制代码文件,然后才可以运行。你的这个也差不多。
首先找到你的Linux主机的合适的编译器,比如g77,f77或者直接用gcc的子集。
有Makefile就很好了。你也可以看一下有么有configure文件。估计你的源代码比较多,所以自动编译比较好。关于可以用的编译器,你可以参考这个说明:>
以上就是关于三菱plc主程序和子程序在同一文件吗全部的内容,包括:三菱plc主程序和子程序在同一文件吗、vb中怎么分主程序和子程序啊、数控车床的编程里面子程序可以编在主程序的中间吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)