登录
首页 » Others » agv的plc控制

agv的plc控制

于 2020-12-06 发布
0 402
下载积分: 1 下载次数: 2

代码说明:

这个文档主要介绍plc的整套对agv的开发过程对现实还是有一定的积极意义的长沙理工大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:6日期:20/b月&日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权长沙理工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、维印或扫描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研究所将本论文收录到《中国学位论文全文数据库》,并通过网络向社会公众提供信息服务。本学位论文属于1、保密口,在年解密后适用本授权书。2、不保密駟。(请在以上相应方框内打“√”)作者签名:日期:0/年6月孑日导师签名:日期:年/月。日摘要AGV自动导航车是现代物流领域的一个重要的研究课题。在工业领域柔性化生产中越来越重要,高性能、高有效性的AGV控制器受到国内外学者的高度重视。本文采用模糊控制方式,针对AGⅴ小车的响应速度、稳定性要求,设计实现了一种基于运动学模型的AGV控制系统。该控制系统按功能模块化设计硬件电路,由电杌驱动模块、路径识别模块、避障模块、通信模块组成。电机驱动模块由直流无刷电机驱动模块和电机速度检测模块组成,实现对直流无刷电机的控制;路径识别模块由位置检测模块和站点识別模块组成,实现小车对路径的识别,达到对路径跟踪控制的目的;避障模块实现小车的安全性;通信模块由CAN通信模块和无线ⅵi模块组成,实现控制系统的通信。小车的测试实验表明,先后给以80mm和-100mm的位置偏差,AGV小车能够在3s内对位置偏差进行修复,小车速度振幅控制在±10mm/s,小车位置偏差修复后,3s时间内,速度可回调到位置偏差前的速度,即小车回“零位”的速度比较快,表明AGⅴ控制系统的平稳性好,能够很好实现对路径的跟踪,同时也能及时的应对运行过程中的误差突变。关键字:AG;运动学模型;磁导航;模糊控制ABSTRACTThe Automatic Guided Vehicle (AGv) is an important research topic in the fieldof modern logistics. Flexibility in the field of industrial production more and moreimportant, the AGV controller which has the high performance and the highefficiency has been received the extensive attention by scholars both at home andabroad. This paper adopts the fuzzy control method, in view of the aGv car responsespeed and stability requirements, the design has realized one kind of AGv controlsystem based on kinematics modelThe control system hardware circuit is designed according to the functionmodular, the motor drive module, path recognition module, obstacle avoidancemodule, communication module. Motor driver module is composed of brushless dcmotor driver module and motor speed detection module, realize the control for thebrushless dc motor. Path recognition module is composed of position detectionmodule and site identification module, realize the aGv for the path recognition,achieve the goal of the path tracking control; Obstacle avoidance module to realizethe safety of the car; Communication module of Can communication module andwireless wifi module composition, realization of the control system ofcommunicationThe test results show that, successively give 80mm and 100mm positionaldeviation. the location of the AGv can within 3s to fix position deviation, vehiclespeed amplitude control in the plus or minus 10mm/s after repair the car positiondeviation, within 3s the speed can be back to the front of the position deviation ofspeed, the car back to " zero"speed is faster, the results show that the AGv controlsystem have good stability, a good path tracking, and can provide timely responsesduring the operation of the error mutationKeywords: AGV; Kinematics Model; Magnetic Navigation; Fuzzy Control目录摘要ABSTRACT…命命命中苹命命品哪命命命哪请自品中“非哪非命命命哪第一章绪论1AGV概述…12AGV国内外发展现状…121国外发展历史及现状122国内发展历史及现状13AGV的引导方式14本文的主要工作和主要问题.b自.身自命看非世看带看音萨世看中·宁非命●学●122455141本论文的主要工作…142本论文解决的主要问题第二章AGV车体结构及运动学模型建立21AGV结构分类。B西自鲁自·切是息甲带导211三轮结构2.12四轮结构213五轮或六轮结构.22AGV的性能指标23AGⅤ的组成幽·命命66778924AGⅤ运动状态分析申·自意25AGⅤ小车对电机的基本要求1026AGV的运动学模型27本章小结12第三章AGNV控制系统硬件设计3IAGⅴ控制系统整体结构.1332AGV控制系统研究方案32ICAN总线通信模块即14322无线wif模块15323电机实时速度检测看·。专中●·音专中324磁导航传感器组3.2.5障碍检测18326AGV小车对线路与站点的识别鲁·。感垂品自世品身岳一益自备自e非你ee非物9327AGV小车位置判断33硬件系统组成21331控制器芯片应用说明.1332电机驱动模块24333电源模块…633.4通讯模块命命命命··命命自命命●2734本章小结28第四章AGV路径跟踪控制方法研究41AGⅴ控制策略选择42模糊控制简介…294.3模糊PD控制器.3043.1模糊PD控制器的数学模型查看着看看看昏春●●●43,2模糊PID控制器的控制思想3143.3AGⅴ控制系统模糊控制必要性…3144模糊PID控制器设计…3344.1模糊PID控制器的输入输出量的确定…344.2模糊控制规则的设计.节。申春。鲁合。节是看看。节.自DD春3345模糊PID控制器的仿真…昨非···命e命自···总最46本章小结38第五章AGV控制系统软件设计51引言3952编译环境的介绍.....12053控制软件设计鲁暴非画非最命自曲曲自自非非命春告音春鲁D看41531产生PWM的程序流程.53,2电机实际速度检测模块程序流程425.3.3避障控制模块程序流程….534驱动控制模块程序流程中学鲁鲁鲁。鲁。●44535CAN总线通信模块程序流程.54本章小结45第六章系统测试与结果分析6.1路径跟踪测试.4662避障能力测试63本章小结总结和展望看中·49参考文献看●。。意非。。市中自看非如鲁致谢附录A(攻读学位期间发表论文及专利目录)55第一章绪论第一章绪论1.1AGV概述现代制造工艺的飞速发展,带动了柔性制造系统FMS和柔性装配系统FAS的迅速发展。中国早在“十一五”规划中就制定了侧重于科学和技术的发展,以先进的制造技术来提高企业的竞争力。自21世纪开始,物流的发展成为一个新热点。现代物流行业,尤其是西方的设备和实现技术已经达到很成熟的水平。目前,现代化物流格局已经形成以信息技术为核心,以信息、运送、卸载、自主化仓储、库存统计、自主化配货、包装等专业技术为支撑的现代化物流技术4。而自主导航车AGV是实现AGVS、FMS、CIMs的关键基础设备,是实现现代物流自动化和智能化的核心技术之—pAGV( Automated Guided Vehicle)是自动导航小车的英文缩写,是一种自主驾驶、无人操纵、以电池为动力的自动化运输设备,装有电磁或者光学等非接触自动导向装置和独立寻址系统。它的主要特点表现为具有可编程功能、安全保护装置、启停装置以及搬载功能并能在上位机的监控下,根据给定的起点和终点自主地沿预设的导引路径行驶,安全到达目的地,完成搬运卸载任务。其已经成为仓储物流自动化系统、柔性生产线、柔性装配线的重要设备。资料显示,在整个产品生产的过程中,用于加工和制造仅仅只占有5%的时间,剩余95%的时间主要用于包装、储存、装卸和运输;而在美国、日本和欧洲发达国家,直接劳动成本所占生产成本的比例不足15%而且这一比例还在不断下降,而储存、运输所占的成本却占总成本的40%7。因此各工业强国把降低物流成本作为提高企业竞争力的重要措施,在这样的背景下,AGⅤ小车广泛地应用于各行各业,并受到了极大的欢迎。12AG国内外发展现状AGⅤ是伴随着叉车技术和机器人技术产生并发展而来的,但都是为了实现货物的自动搬运为目的的3。随着技术的不断发展,AGV的功能不断完善,应用领域越来越大。硕学位论文121国外发展历史及现状AGV在国外起步早、发展快。首次出现在公众视野的AGV原型车于1913在美国福特汽车公司下线,该原型车首次将有轨引导的小车代替原来使用在汽车底盘装配线上的输送机,根据福特公司对外公开的资料,该小车将装配时间缩短了15小时,极大地提高了生产效率,从此AGv就步入了高速发展的时代例1953年,世界上第一台AGV由美国 Barrett Electric公司研制成功,采用真空管技术自动跟踪钢丝索行走。1954年,由英国人首先去掉了地面上的导引轨道,研制出了采用埋线电磁感应方式跟踪路径的AG。50年代末,AGV开始在欧洲推广使用。1959年,AGV系统在美国开始应用山。由文献-5,12,3]可知:直到70年代,AGv仍然主要采用电磁感应方式引导。AGv的优越性促使其不断发展,应用非常广泛,特别是在工业强国。随着物流系统的完善,AGV系统逐渐与计算机技术相融合,六十年代,计算机技术开始参与AGV系统的控制和管理;1969年,AGV首次在瑞典投入使用,主要集中在制造业12截止到六十年代和七十年代初, Barrett, Webb、 Clark公司占有市场大部分的AGV销售份额;同时在这个时期,AGV导引方式开始发展五花八门,各种环境的适应加速了AGⅤS的迅速发展。八十年代欧洲的AGV技术开始转移到美国,而且随着计算机控制系统的加入,美国使AGv的性能更加先进,AGⅤ控制器可靠性进一步加强,运输量进一步增加;此时,美国的AGV生产商由23家(1983年)增加到74家(1985年),全美国使用AGV的数量增加到3900多台101。1990年,AGⅴ制造强国瑞典NDC开发出新型的基于激光引导的AGV控制系统。同时,AGⅤ在日本的应用也比较成熟。到1988年,日本的AGV制造企业达到20多家,如比较知名的企业大福、 Fanuc公司、村田公司等。日本也成为使用AGV最广泛的国家之一。随着AGV技术的不断提高,美国、日本、欧洲等发达国家的使用已经非常广泛。现在的AGV控制系统装有车载计算机、通讯装置、安全装置和货物装卸设施,自动化程度很高,应用领域相当广泛,汽车制造、造纸、印刷、医药行业是使用量最大的行业,约占全球AGV总销量的80%15。目前,AGV的发展趋势是研究无固定引导路线、高度自由的AGV。122国内发展历史及现状我国第一台AGⅣ在1975年由北京起重运输机械研究所完成,该AGⅤ采用电磁

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 三维模型gltf 建筑
    cesium中gltf三维模型
    2020-12-07下载
    积分:1
  • SP500股票数据
    SP500中随机抽取的两只股票数据,从开盘到2013年8月份,可以用于简单的时间序列数据挖掘
    2020-11-29下载
    积分:1
  • Paragon HFS for Windows
    hfs+ for windows 11破解版是款可以帮助用户进行访问windows分区的工具;它也是目前市场上比较稳定的一款软件,通过该工具,可以快速的进行访问您电脑上的HFS 、HFSX 分区,也为大家进行提供了可行的解决方案;软件已经进行了破解,如果需要进行使用的话,无需进行注册,即可快速的进行使用
    2020-11-03下载
    积分:1
  • Matlab实现(KNN)自适应谱聚类
    Matlab实现(KNN)自适应谱聚类
    2021-05-07下载
    积分:1
  • 多层ELM进行MNIST手写字符分类MATLAB代码
    多层ELM进行MNIST手写字符分类MATLAB代码,直接运行.m程序,如果现实内存溢出,请改小隐藏节点个数。
    2020-12-06下载
    积分:1
  • PID控制超详细教(含软硬件上位机,很好)
    PID控制超详细教程(含软硬件上位机,很好)SUNPLUS调节控制做电机速度控制月录页模拟控制模拟控制原理数字控制位置式算法增量式算法控制器参数整定凑试法临界比例法经验法采样周期的选择参数调整规则的探索自校正控制器软件说明软件说明档案构成界面子程序说明程序范例程序程序流程与说明中断子流稈与说明使用资源硬件使用资源说明实验测试响应曲线参考文献SUNPLUS调节控制做电机速度控制修订记录日期版本编写及修订者编写及修订说明初版错误校正SUNPLUS调节控制做电机速度控制模拟控制将偏差的比例()、积分()和微分()通过线性组合构成控制量用这一控制量对被控对象进行控制,这样的控制器称控制器、模拟控制原理在模拟控制系统中,控制器最常用的控制规律是控制。为了说明控制器的工作原理,先看个例子。如图—所示是一个小功率直流电机的调速原理图。给定速度与实际转速进行比较,其差值,经过控制器调整后输出电压控制信号经过功率放大后,驱动直流电动机改变其转速。+控器直流电机图小功率直流电机调速系统常规的模拟控制系统原理框图如图—所示。该系统由模拟控制器和被控对象组成。图中是给定值是系统的实际输岀值,给定值与实际输出值构成控制偏差式-)作为控制的输入,作为控制器的输出和被控对象的输入。所以模拟控制器的控制规律为式其中:控制器的比例系数搾制器的积分时间,也称积分系数控訇器的微分时间,也称微分系数比例积分被控对象微分图—模拟控制系统原理图比例部分SUNPLUS调节控制做电机速度控制比例部分的数学式表示是:在模拟控制器中,比例环节的作用是对偏差瞬闩作岀反应。偏差一旦产生控制器立即产生控制作用,使控制量向减少偏差的方冋变化。控制作用的强弱取决于比例系数,比例系数越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是越大,也越容易产生振荡,破坏系统的稳定性。故而,比例系数选择必须恰当,才能过渡时间少,静差小而又稳定的效果。、积分部分积分部分的数学式表小是从积分部分的数学表达式可以知道,只要存在偏差,则它的控制作用就不断的增加;只有在偏差时,它的积分才能是一个常数,控制作用才是一个不会增加的常数。可见,积分部分可以消除系统的偏差积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。积分常数越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡;但是增大积分常数会诚慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提髙系统的稳定性.当较小时,则积分的作用较强,这时系统过渡时间中有可能产生振荡,不过消陰偏差所需的时间较短。所以必须根据实际控制的只体要求来确定。、微分部分微分部分的数学式表示是实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差岀现的瞬间,或在偏差变化的瞬间,不但要对偏差量做岀立即响应(比例环节的作用),而∏要根据偏差的变化趋势预先给岀适当的纠正。为了实现这一作用,可在控制器的基础上加入微分环节,形成控制器。微分环节的作用使阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的引入,将有助于减小超调量,克服振荡,使系统趋于穩定,特別对髙阶系统非常有利,它加快了系统的跟踪速度但微分的作用对输入信号的噪声很敏感,对那些噪声较人的系统一般不用微分,或在微分起作用之前先对输入信号进行滤波。微分部分的作用由微分时间常薮决定。越大时,则它抑制偏差变化的作用越强棫小时,则它反抗偏差变化的作用越弱。微分部分显然对系统稳定有很大的作用。适当地选择微分常数,可以使微分作用达到最优由于计算机的出现,讣算机进入了控制领或。人们将模拟控制规律引入到计算机中来。对(式—)的控制规律进行适当的变換,就可以用软件实现控制,即数字搾制。SUNPLUS调节控制做电机速度控制数字控制数字式控制算法可以分为位置式和增量式控制算法。位置式算法由于计算杋控制是一种采样控制,它只能根据样时矧的偏差计算控制量,而不能像模拟控制那样连续输岀控制量量,进行连续控制。由于这·特点(式)中的积分项和黴分项不能直接使用,必须进行离散化处理。离散化处理的方法为:以作为采样周期,作为采样序号,则离散采样时间对应着连续时间,用矩形法数值积分近似代替积分,用一阶后向差分近似代膂微分,可作如下近似变换:≈1T〔k=0,1,2.e()h(门-Tag(),()-以(k-1)7]8-1di(式上式中,为了衣示的方便,将类似于简化成等。将(式-)代入(式一),就可以得到离散的表达式为(式一)或+(式其米样序号,一,,第次釆样时刻的计算机输出值:第次采样时刻输入的偏差值第—次采样时刻输入的偏差值:积分系数,微分系数,如果采样周期足够小,则〔式—)或(式—)的近似计算可以获得足够精确的结果,离散控制过程与连续过程十分接近。(式—)或(式一)表示的控制算法式直接按(式一)所给出的控制规律定义进行计算的,所以它给出了全部控制量的大小,因此被称为全量式或位置式控制算法这种算法的缺点是:由于全量输出,所以每次输出均与过去状态有关,计算时要对进行累加,SUNPLUS调节控制做电机速度控制工作量人;并且,因为计算杋输岀的对应的是执行机构的实际位置,如果计算机岀现故障,输岀的将大幅度变化,会引起执行机构的大幅度变化,有可能因此造成严重的生产事枚,这在实生产际中是不允许的。増量式探制算法可以避免着重现象发生。增量式算法所谓增量式是指数宇控制器的输岀只是控制量的增量Δ。当执行机构需要的控制量是增量,而不是位置量的绝对数佶时,可以使用增量式控制算法进行控制。增量式控制算法可以通过(式一)推导出。由(式一)可以得到控制器的第个采样时刻的输出值为+∑+式将(式一)与(式一)相减并整理,就可以得到增量式控制算法公式为△(式其中由(式—)可以看出,如果计算机控制系统采用恒定的采样周期日确定只要使用前后三次测量的偏差值,就可以由(式—)求出控制量。增量式控制算法与位置式算法(式一)相比,计算量小的多,因此在实际中得到广泛的应用而位置式搾制算法也可以通过增量式控制算法推岀递推计算公式:△式(式—)就是目前在计算机控制中广泛应用的数字递推控制算法控制器参数整定搾制器参数整定:指决定调节器的比例系数、积分时间、微分时间和采样周期的SUNPLUS调节控制做电机速度控制具体数值。整定的实质是通过改变调节器的参数,使其特性和过程特性相匹配,以改善系统的动态和静态指标,取得最佳的控制效果。整定调节器参数的方法很多,归纳起来可分为两大类,即理论计算整定法和工程整定法。理论计算整定法有对数频率特性法和根轨迹法等;工程整定法冇凑试法、临界比例法、经验法、衰减曲线法和响应曲线法等。工程整定法特点不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定方法简单、计算简便、易于掌握凑试法按照先比例()、再积分()、最后微分()的顺序。置调节器积分时间∞,微分时间在比例系数按经验设置的初值条件下,将系统投入运行,由小到大整定比例系数求得满意的衰减度过渡过程曲线引入积分作用(此时应将上述比例系数设置为)。将由大到小进行整定若需引入微分作用时,则将按经验值或按(~)设置,并由小到人加入临界比例法在闭坯控制系统甲,将调节器置纯比例作用卜,从小到大逐渐改变调节器的比例系教,得到竿幅振荡的过渡过程。此时的比例系数称为临界比例系数相邻两个波峰间的时间间隔,称为临界振荡周期二界比例度法步骤:将调节器的积分时间置于最大(∞),微分时间置零),比例系数适当,平衡操作一段时问,把系统投入自动运行、将比例系数逐渐增大,得到等幅振荡过程,记卜临界比例系数和临界振蕩周期值根据和值,采用经验公式,计算出调节器各个参数,即、和的值。按先再最后的操作程序将调节器整定参数调到计算值上。若还不够满意,可再作进步调整。临界比例度法整定注意事项:有的过程控制系统,临界比例系数很大,使系统接近两式控制,调节阀不是全关就是全开,对工业生产不利有的过程控制系统,当调节器比例系数调到最大刻度值时,系统仍不产生等幅振荡,对此,就把最大刻度的比例度作为临界比例度进行调节器参数整定经验法用凑试汯确定参数需要经过多次反复的实验,为了减少凑试次数,提高工作效率,可以借鉴他人的经验,并根据‘定的要求,事先作少量的实验,以得到若「基准参数,然后按照经验公式用这些基准参数导出控制参数,这就是经验法。临界比例法就是一种经验法。这种方法首先将控制器选为纯比例控制器,并形成闭环,改变比例系数,使系统对阶跃输入的响应达到临界状态,这时记下比例系数、临界振荡周期为,根SUNPLUS调节控制做电机速度控制据一提供的经验公式,就可以由这两个基准参数得到不同类型控制器的参数,如表一所示。衣—临界比例法确定的模拟控制器参数控制器类型这种临界比例汯使针对模拟ˆ控制器,对于数字控制器,只要釆样周期取的较小,原则上也同样使用。在电动机的控制中,可以先采用临界比例法,然后在采用临界比例法求得结果的基础上,用凑试法进一步完善表一的控制参数,实际上是按衰减度为时得到的。通常认为的衰减度能兼顾到稳定性和快速性。如果要求更大的衰减,则必须用凑试法对参数作进一步的调整。采样周期的选择香农()采样定律:为不失真地复现信号的变化,采样频率至少应大于或等于连续信号最高频率分量的二倍。根据采样定律可以确定采样周期的上限值。实际采样周期的选择还要受到多方面因素的影响,不同的系统采样周期应根据具体情况米选择。采样周期的选择,通常按照过程特性与丨扰大小适当来选取采样周期:郾对于响应快、(如流量、压力)波动大、易受干扰的过程,应选取较短的采样周期:反之,当过程响应慢(如温度、成价)、滞后人时,可选取较长的采样周期采样周期的选取应与参数的整定进行综合考虑,采样周期应远小于过程的扰动信号的周期,在执行器的响应速度比较慢时,过小的采样周期将失去意义,因此可适当选大ˉ点;在计算机运算速度允许的条件下,采样周期短,则控制品质好;当过程的纯滞后时间较长时,一般选取采样周期为纯滞后时间的参数调整规则的探索人们通过对控制理论的认识和长期人工操作经验的总结,可知参数应依据以卜儿点来适应系统的动态过程。在偏差比较大时,为使尽快消除偏差,提高响应速度,冋时为了避免系统响应岀现超调,取大值,取零;在偏差比较小时,为继续减小偏差,并防止超调过大、产生振荡、稳定性变坏,值要减小,取小值;在偏差很小时,为消除静差,克服超调,使系统尽快稳定,值继续减小,值不变或稍取大。当偏差与偏差变化率同号时,被控量是朝偏离既定值方向变化。因此,当被控量接近定值时,反号的比列作用阻碍积分作用,避免积分超调及随之而来的振荡,有利于控制;而当被控量远未接近各定值并向定值变化时,则由于这两项反向,将会减慢控制过程。在偏差比较大时,偏差变化率与偏差异号时,值取零或负值,以加快控制的动态过程。偏差变化率的大小表明偏差变化的速率,越大,取值越小,取值越大,反之亦然。同时,要结合偏差大小来考虑
    2020-12-06下载
    积分:1
  • Building Trading Bots Using Java [2016]
    Building Trading Bots Using JavaEnglish | 6 Jan. 2017 | ISBN: 1484225198 | 300 Pages | PDF | 6.22 MBBuild an automated currency trading bot from scratch with java. In this book, you will learn about the nitty-gritty of automated trading and have a closer look at Java, the Spring Framework, event-Building Trading Bots Using Javahekhar VarshneyGrangesSwitzerlandISBN13(pbk):978-1-4842-2519-6ISBN-13(electronic): 978-1-4842-2520-2DOI10.1007/978-1-4842-2520-2Library of Congress Control Number: 2016961228Copyright o 2016 by Shekhar VarshneyThis work is subject to copyright All rights are reserved by the Publisher, whether the wholeor part of the material is concerned, specifically the rights of translation, reprinting, reuse ofillustrations, recitation, broadcasting, reproduction on microfilms or in any other physicalway, and transmission or information storage and retrieval, electronic adaptation, computersoftware, or by similar or dissimilar methodology now known or hereafter developedTrademarked names, logos, and images may appear in this book. Rather than use a trademarksymbol with every occurrence of a trademarked name, logo, or image we use the names, logos,nd images only in an editorial fashion and to the benefit of the trademark owner, with nointention of infringement of the trademarkThe use in this publication of trade names, trademarks, service marks, and similar terms, even ifthey are not identified as such, is not to be taken as an expression of opinion as to whetheror notthey are subject to proprietary rightsWhile the advice and information in this book are believed to be true and accurate at thedate of publication, neither the authors nor the editors nor the publisher can accept any legalresponsibility for any errors or omissions that may be made. The publisher makes no warranty,express or implied, with respect to the material contained hereinManaging Director: Welmoed SpahrLead Editor: Steve AnglinEditorial Board: Steve Anglin, Pramila Balan, Laura Berendson, Aaron Black, Louise Corrigan,Jonathan gennick, Robert Hutchinson, Celestin Suresh John, Nikhil KarkalJames Markham, Susan McDermott, Matthew Moodie, Natalie Pao, Gwenan SpearingCoordinating Editor: Mark PowersCopy Editor: Kezia EndsleyCompositor: SPi GlobalIndexer: SPi GlobaArtist: SPi GlobalDistributed to the book trade worldwide by Springer Science+ Business Media New York,233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax(201)348-4505e-mailorders-ny@springer-sbm.comorvisitwww.springeronline.com.ApressMedia,Llcisa California LlC and the sole member(owner) is Springer Science Business Media FinanceInc(SSBM Finance Inc). SSBM Finance Inc is a Delaware corporationForinformationontranslationspleasee-mailrights@apress.comorvisitwww.apress.comApress and friends of ed books may be purchased in bulk for academic, corporate, or promotionaluse eBook versions and licenses are also available for most titles For more information referenceourSpecialbUlkSales-ebookLicensingwebpageatwww.apress.com/bulk-salesAny source code or other supplementary materials referenced by the author in this text areavailabletoreadersatwww.apress.com.Fordetailedinformationabouthowtolocateyourbookssourcecodegotowww.apress.com/source-code/.ReaderscanalsoaccesssourcecodeatSpringerlink in the Supplementary Material section for each chapter.Printed on acid-free paperedicated to the angels in my lifemy mother, my wife Preshita, and my two daughters Mihika and anyaLast but not the least, my college professor, Dr. Rajat Moona,who sowed the seeds of computer programming in my dnaContents at a glanceAbout the authorChapter 1: Introduction to Trading Bota.Chapter 2: Account Management27Chapter 3: Tradeable Instruments47Chapter 4: Event Streaming: Market Data EventsChapter 5: Historic Instrument Market Data aeEERaar75Chapter 6: Placing Orders and trades97Chapter 7: Event Streaming: Trade/Order/Account Events159Chapter 8: Integration with Twitter aamna■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■175Chapter 9: Implementing Strategies.am.203Chapter 10: Heartbeating ammmmmmmmmmmn 219Chapter 11: E-Mail Notifications ammmmatmmammmmmmmnmamman 231Chapter 12: Configuration, Deployment, and Running the Bot 243Chapter 13: Unit Testing■■■■■■■■■■■■口■■■■■■■■■■■■■■■■■■■口■■■■■■■■■■■■■■■■■■口■■■■■263Index…277ContentsAbout the author,i币Chapter 1: Introduction to Trading Bot m mmmemmIRD■■■■■■■■■■■■■■■■■■■■■■■■■What Is a Trading Bot?Why do We need a trading bot?...3The capabilities of the Trading BotDesign goalsCode organization and software Stack Used .OANDA REST API as Reference Implementation.m....ammann. 8Opening an oanda practice Account80 ANDA JS0 N Keys…………Constructor Dependencies for OANDA Implementations15Event-Driven architectureG0 ogle eventBus…18Provider helper Interface20Trading Config class.........mmonann......mtnonnn.......tnn 22Obtaining the Source Code.aaeeaaaee... 24Try It Yourself section..aaaaaa.. 24Chapter 2: Account Managementa27Account provider interface31A Concrete Implementation for AccountDataProvider32Encapsulating Everything Behind a Generic AccountlnfoService37Try It yourself43VIlCONTENTSChapter 3: Tradeable Instruments47InstrumentA Concrete Implementation for InstrumentDataProvider52Encapsulating Everything Behind a Generic Instrumentservice56Try It yourself58Chapter 4: Event Streaming: Market Data Events mmmmmmmmmm. 61Streaming Market Data Interface.A Concrete Implementation for MarketData StreamingService .m..63Downstream Market data event disseminationMarketEventcallback……69Try It Yourself,…70Chapter 5: Historic Instrument Market Data mmmmmmmm 75How to read a candlestick75Enum Defining the Candlestick Granularity76Define pojo to hold candlestick information77Historical Data Provider Interface79A Concrete Implementation for HistoricMarketDataProvidern81Discussion An Alternate Database Implementation85Candlesticks for Moving Average Calculations....88MovingAverage calculation Service89Try lt YourselfChapter 6: Placing Orders and Trades■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■97Order pojo definition98Order Management provider Interface101A Concrete Implementation for Order ManagementProvider,103A Simple orderInfoService,115CONTENTSValidating Orders Before Execution: PreOrderValidationService... 116Putting It All Together in an OrderExecution Service .mmmm... 121Trade pojo definition124Trade Management provider Interface127A Concrete Implementation for TradeManagementProvider129Encapsulating Read Operations Behind TradelnfoService.....m. 136Try It yourself144Chapter 7: Event Streaming: Trade/order/Account Events m 159Streaming Event Interface161A Concrete Implementation for Events StreamingService162Try It Yourself171Chapter 8: Integration with Twitter■■■■■■■■■■■■■■■■■■■■175Creating a Twitter Application175Spring Social180Using and Configuring Spring Social180Harvesting FX Tweets181Tweetharvester Interface wmmm. 185XTWeethandler Interface,,,………AbstractFxtweethandler base class186User-Specific TweetHandlersTry lt Yourself.Chapter 9: Implementing Strategies.aa203Copy Twitter Strategy204Fade the Move Strategy210Try It Yourself214CONTENTSChapter 10: Heartbeating ammammmmmmmmmmmmmmm 219HeartBeatPayload. ..m......m. 219Streaming the Heartbeat Interface220A Concrete Implementation for HeartBeatstreamingService221HeartBeatcallback Interface223DefaultheartBeatservice223Try It Yourself226Chapter 11: E-Mail notifications n231Notification Design.EmailPayLoad poJoEmailContentgenerator interface……232Sample Implementations.EventEmailNotifier service mm...m. 235Try It Yourself.237Chapter 12: Configuration, Deployment, and running the bot m 243Configuring the Trading Bot243Core Beans configuration244Twitter-Related Beans Configuration.....................247Provider Beans Configuration248Strategies configuration…254Services Configuration254Building the Bot...,,,,,…,,……256Running the bot.....,,……259CONTENTSChapter 13: Unit Testinga263Using Mockito as a Mocking Framework.Mocking Http iNteraction..............m....................e........................ 264Mocking Streams.The versatile verify Mockit0…....,.,,…271Mocking Twitter Interaction .EclEmma Code Coverage Tool for Eclipse ide.nDDDDDDDDDm274Index■■■■■■■■■■■■■■■■■■■口En277
    2020-12-07下载
    积分:1
  • 交通灯设计.ms14
    利用multisim 14.1搭建的交通灯仿真电路
    2020-12-09下载
    积分:1
  • project 进度计划 各楼栋总进度计划
    project项目案例(完整的过程),各楼栋总进度计划-00.mpp
    2021-05-06下载
    积分:1
  • 西储大学轴承全数据
    本资源整理了西储大学的轴承的各项数据以及数据说明,内容清晰全面,有助于各类需要人士进行分析研究,提高自己的科研水平。
    2020-11-30下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载